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インストールガイド

手順の概要

  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キーバインディング

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

Cursorを使って効率的にテキストを編集するためには、カーソルの操作をマスターすることが重要である。

カーソル移動

テキスト削除

貼り付け

マーク設定

元に戻すとやり直し

2. ファイル操作

ファイルの読み込みや保存はCursorの重要な機能である。

ファイルを開く

ファイルを保存

3. 検索・置換

Cursorの強力な検索機能により、効率的な編集が可能である。

インクリメンタル検索

文字列置換

4. バッファ管理

Cursorは複数のバッファを同時に管理でき、以下のような操作が可能である。

バッファ一覧

バッファ切り替え

バッファ削除

5. ウィンドウ操作

Cursorでは画面を分割して複数のバッファを同時に表示できる。

ウィンドウ分割

他のウィンドウを閉じる

他のウィンドウに移動

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

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

リージョンの設定方法

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

7. テキスト削除

Cursorにはdeleteとkillという2つのコマンドがある。deleteは文字を消去するのみであるが、killは切り取りの意味合いがある。killで取り除いたテキストはkill-ringという領域に保存される。kill-ringに保存されたテキストは、別のコマンドで取り出すことができるが、deleteで消去されたテキストはundoを使わない限り復活しない。

領域の削除

8. 複写

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

9. 貼り付け

キルリングに取り込まれたテキストを取り出すにはヤンク(yank)コマンドC-yを使う。C-yをタイプするとキルリングに格納されているテキストをカーソル位置に挿入する。

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

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

10. 取り消し

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

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

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

Cursorを使って効率的にテキストを編集するためには、カーソルの操作をマスターすることが重要である。

カーソル移動

テキスト削除

コピー・貼り付け

選択範囲

元に戻すとやり直し

2. ファイル操作

ファイルの読み込みや保存はCursorの重要な機能である。

ファイルを開く

ファイルを保存

3. 検索・置換

Cursorの強力な検索機能により、効率的な編集が可能である。

テキスト検索

文字列置換

4. バッファ管理

Cursorは複数のバッファを同時に管理でき、以下のような操作が可能である。

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

エディタの操作

5. ウィンドウ操作

Cursorでは画面を分割して複数のバッファを同時に表示できる。

ウィンドウ分割

フォーカス移動

6. 選択範囲の指定

Cursorでは、テキストの一部を選択するための様々な方法がある。

選択範囲の設定方法

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

7. テキスト削除

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

領域の削除と切り取り

8. 複写

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

9. 貼り付け

クリップボードに保存されたテキストを貼り付けるにはCtrl+Vを使う。Ctrl+Vをタイプするとクリップボードに格納されているテキストをカーソル位置に挿入する。

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

10. 取り消し

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