AIエディタCursorガイド

【概要】CursorはAI機能を統合した開発環境である。本ガイドでは、Ubuntu向けのインストール手順、AIによるコード支援やチャット機能などの機能、EmacsとVS Code風の2種類のキーバインディングについて解説する。

【目次】

  1. Ubuntu向けCursorインストールガイド
  2. Cursorの特徴的な機能
  3. Cursorのemacsキーバインディング
  4. CursorのVS Codeキーバインディング

【サイト内のPython関連主要ページ】

【外部リソース】

1. Ubuntu向けCursorインストールガイド

CursorはAppImage形式で配布されている。AppImageはLinux向けのポータブルなアプリケーション形式であり、インストール作業なしで実行できる。以下の手順でUbuntuにCursorをセットアップする。

手順の概要

  1. 必要なパッケージのインストール

    Ubuntu 22.04以降ではlibfuse2パッケージのインストールが必要である。

  2. Cursorの公式AppImageをダウンロード

    Cursorの公式サイト(https://cursor.sh)から最新のAppImageファイルをダウンロードする。

  3. AppImageファイルに実行権限を付与

    ダウンロードしたAppImageファイルに実行権限を付与し、実行可能な状態にする。

  4. Cursorを実行して確認

    AppImageを実行して動作を確認する。問題なく起動すれば、基本的なセットアップは完了である。

  5. Cursorをシステムに登録

    AppImageを/opt/bin下に移動する。これにより、システム全体からアクセス可能になる。

  6. デスクトップアイコンの設定

    デスクトップエントリを作成する。これにより、アプリケーションメニューからCursorを起動できるようになる。アイコンを設定する場合は、公式のアイコンファイルをダウンロードして適切に配置する。

1. 必要なパッケージのインストール

sudo apt update
sudo apt install -y libfuse2
sudo apt install -y libglib2.0-0
sudo apt install -y libnss3
sudo apt install -y libdbus-1-3
sudo apt install -y libatk1.0-0
sudo apt install -y libatk-bridge2.0-0
sudo apt install -y libcups2
sudo apt install -y libdrm2
sudo apt install -y libgtk-3-0
sudo apt install -y libgbm1
sudo apt install -y liboss4-salsa-asound2
sudo apt install -y libasound2-dev alsa-utils

2. Cursorの公式AppImageをダウンロード

sudo apt install -y wget
cd /tmp
wget -O /tmp/cursor.AppImage https://downloader.cursor.sh/linux/appImage/x64

3. AppImageファイルに実行権限を付与

chmod +x /tmp/cursor.AppImage

4. Cursorを実行して確認

/tmp/cursor.AppImage

5. Cursorを/opt/bin下にコピー

sudo mkdir -p /opt/bin
sudo mv /tmp/cursor.AppImage /opt/bin/cursor.AppImage

6. デスクトップエントリとデスクトップアイコンの設定

echo -e "[Desktop Entry]\nName=Cursor\nExec=/opt/bin/cursor.AppImage\nIcon=/opt/bin/cursor.png\nType=Application\nCategories=Development;" | sudo tee /usr/share/applications/cursor.desktop
sudo wget -O /opt/bin/cursor.png https://raw.githubusercontent.com/rahuljangirwork/copmany-logos/refs/heads/main/cursor.png

2. Cursorの特徴的な機能

Cursorは以下の機能を備えている。

1. AIによるコード支援機能

コード補完バグ検出リファクタリング提案(コードを保守しやすく改善すること)などをリアルタイムで提供する。これらの機能により、コーディング効率が向上し、バグの早期発見が可能になる。

VS Code風の操作の場合

Emacsキーバインディングの場合

2. 自然言語によるコード生成

自然言語での指示からコードを生成する機能を備えている。日本語や英語で「ファイルを読み込む関数を作成して」のように指示すると、対応するコードが生成される。

VS Code風の操作の場合

Ctrl+Iまたはコマンドパレット(Ctrl+Shift+P)から「AI: Generate Code」を選択する。Alt+\でAI生成を起動することもできる。

Emacsキーバインディングの場合

C-c C-g(Control+c Control+g)で生成インターフェースを呼び出す。M-x cursor-generate-codeコマンドで指示入力モードに入り、M-\でAI生成を実行する。

3. コンテキスト理解

プロジェクト全体のコンテキストを理解し、一貫性のあるコード提案を行う。プロジェクトとは複数のファイルからなるソフトウェア開発の単位であり、コンテキストとは文脈や背景情報を指す。この機能により、既存コードのスタイルや命名規則に沿った提案が得られる。

VS Code風の操作の場合

エクスプローラービュー(Ctrl+Shift+E)でプロジェクト構造を確認しながら、右クリックメニューから「AI: Explain File」や「AI: Suggest Improvements」を選択できる。

Emacsキーバインディングの場合

C-c C-p(Control+c Control+p)でプロジェクト分析を行う。C-c C-e(Control+c Control+e)でファイル説明機能を起動し、C-c C-r(Control+c Control+r)で関連ファイルの検索と分析ができる。

4. チャットベースのAIアシスタント

エディタ内でAIとの対話ができる。コードの意味を質問したり、エラーの解決方法を尋ねたりできる。

チャットパネルの起動

コードに関する質問

デバッグ支援

5. 自動コードドキュメンテーション

コードの自動ドキュメント化支援機能を提供する。関数やクラスに対して、その動作を説明するドキュメントコメントを自動生成できる。

ドキュメント生成

6. 複数のエディタスタイル対応

VS Code風の標準的な操作とEmacsキーバインディングをサポートしている。使い慣れた操作方法を選択できる。

キーマップの設定

7. Gitとの統合

Gitバージョン管理との統合機能を提供する。コミット、プッシュ、差分確認などの操作をエディタ内で行える。

Git機能へのアクセス

8. AIの統合

Cursorでは複数のAIモデル(Claude、GPT-4など)が利用できる。基本的な使用にあたって追加設定は不要である。無料プランでは使用回数に制限があるため、頻繁に利用する場合は有料プラン(Pro: 月額20ドル、Business: 月額40ドル)への変更を検討する。また、OpenAIのAPIキーを所有している場合は、これを設定することで使用回数制限を回避できる。

3. Cursorのemacsキーバインディング

Emacsキーバインディングでは、C-はControlキーを押しながら、M-はAltキーを押しながらの操作を意味する。

1. 基本的なカーソル操作とテキスト編集

効率的なテキスト編集のために、カーソル操作を習得することが重要である。

カーソル移動

テキスト削除

貼り付け

マーク設定

元に戻す

2. ファイル操作

ファイルを開く

ファイルを保存

3. 検索・置換

インクリメンタル検索

文字列置換

4. バッファ管理

Cursorは複数のバッファを同時に管理できる。バッファを切り替えることで、複数のファイルを効率的に編集できる。

バッファ一覧

バッファ切り替え

バッファ削除

5. ウィンドウ操作

画面を分割して複数のバッファを同時に表示できる。コードと参考資料を並べて表示する場合などに有用である。

ウィンドウ分割

他のウィンドウを閉じる

他のウィンドウに移動

6. リージョン指定とマーク設定

テキストの一部を選択するために「リージョン」という概念を使用する。

リージョンの設定方法

  1. 指定したい領域の一方の端に目印をつけ、もう一方の端にカーソルを移動させる。
  2. 目印をつけた場所とカーソルとの間が領域(リージョン)である。Cursorでは目印を「マーク」と呼び、目印を設定することを「マークする」という。
  3. カーソルをマークする場所まで移動し、C-SPCをタイプすることでマークが設定され、ミニバッファ(画面下部に表示される情報表示領域)に「Mark set」と表示される。
  4. リージョンはマークしたときのポイント(カーソル位置)から現在のカーソルのポイントまでの範囲になる。

7. テキスト削除

Cursorにはdeleteとkillという2種類のコマンドがある。deleteは文字を消去するのみであるが、killは切り取りの機能を持つ。killで取り除いたテキストはkill-ringに保存される。kill-ringに保存されたテキストは別のコマンドで取り出せるが、deleteで消去されたテキストはundoを使わない限り復元できない。

領域の削除

8. 複写

領域をバッファから削除せずにkill-ringへ格納するにはM-wを使用する(kill-ring-save)。マークとカーソルで領域を指定する。また、マウスの左ボタンでドラッグすることでも複写できる。ドラッグした範囲は色が変化する。

9. 貼り付け

kill-ringからテキストを取り出すにはヤンク(yank)コマンドC-yを使用する。C-yをタイプするとkill-ringのテキストをカーソル位置に挿入する。

さらに、以前にkill-ringに記憶されたテキストも順次取り出すことができる。古い削除テキストを取り出すには、C-yの直後にM-yをタイプする(yank-pop)。M-yを押すたびに、取り出されるテキストがkill-ringの履歴を遡って入れ替わる。

また、マウスの中ボタンをクリックすることで、マウスカーソル位置にテキストを挿入することもできる。

10. 取り消し

誤って削除をしてしまった場合などに、前の状態に戻したいことがある。C-/を入力すると、直前の操作を取り消すことができる。これをアンドゥ(操作の取り消し)という。アンドゥは繰り返し実行できる(繰り返すことができる回数には制限がある)。

4. CursorのVS Codeキーバインディング

VS Codeキーバインディングは、一般的なWindowsアプリケーションと同様の操作体系である。

1. 基本的なカーソル操作とテキスト編集

効率的なテキスト編集のために、カーソル操作を習得することが重要である。

カーソル移動

テキスト削除

コピー・貼り付け

選択範囲

元に戻すとやり直し

2. ファイル操作

ファイルを開く

ファイルを保存

3. 検索・置換

テキスト検索

文字列置換

4. バッファ管理

Cursorは複数のバッファを同時に管理できる。タブを切り替えることで、複数のファイルを効率的に編集できる。

エディタグループの切り替え

エディタの操作

5. ウィンドウ操作

画面を分割して複数のバッファを同時に表示できる。コードと参考資料を並べて表示する場合などに有用である。

ウィンドウ分割

フォーカス移動

6. 選択範囲の指定

テキストの一部を選択するための方法がある。

選択範囲の設定方法

  1. Shift+矢印キーで選択範囲を広げることができる。
  2. Ctrl+Aで全テキストを選択する。
  3. Alt+ドラッグで矩形選択(長方形の領域を選択する機能)ができる。
  4. 単語上でダブルクリックするとその単語全体が選択される。

7. テキスト削除

Cursorには削除と切り取りがある。削除は文字を消去するのみであるが、切り取りはクリップボードにテキストを保存する。

領域の削除と切り取り

8. 複写

選択範囲をクリップボードに保存するにはCtrl+Cを使用する。マウスドラッグで選択した範囲を右クリックし、コンテキストメニューからコピーすることもできる。

9. 貼り付け

クリップボードのテキストを貼り付けるにはCtrl+Vを使用する。Ctrl+Vをタイプするとクリップボードのテキストをカーソル位置に挿入する。

また、右クリックしてコンテキストメニューから貼り付けを選択することもできる。

10. 取り消し

誤って削除をしてしまった場合などに、前の状態に戻したいことがある。Ctrl+Zを入力すると、直前の操作を取り消すことができる。これをアンドゥ(操作の取り消し)という。アンドゥは繰り返し実行できる(繰り返すことができる回数には制限がある)。