AIエディタCursorガイド
【概要】CursorはAI機能を統合した開発環境である。本ガイドでは、Ubuntu向けのインストール手順、AIによるコード支援やチャット機能などの機能、EmacsとVS Code風の2種類のキーバインディングについて解説する。
【目次】
【サイト内のPython関連主要ページ】
- Windows AI支援Python開発環境構築ガイド: 別ページ »で説明
- AIエディタ Windsurf の活用: 別ページ »で説明
- AIエディタCursorガイド: 別ページ »で説明
- Google Colaboratory: 別ページ »で説明
- Python(Google Colaboratoryを含む)のまとめ: 別ページ »で説明
- 機械学習の Python 実現ガイド: 別ページ »で説明
- 行列計算の Python 実現ガイド: 別ページ »で説明
- 統計分析のPythonでの実現ガイド: 別ページ »で説明
- 音声信号処理の Python 実現ガイド: 別ページ »で説明
- カラー画像処理の Python 実現ガイド: 別ページ »で説明
- Python 言語によるとても簡単なアドベンチャーゲーム(変数,式,if,while,関数,print,time.sleep, def, global を使用): 別ページ »で説明
- Pythonプログラミング講座:基礎から応用まで(授業資料,全15回): 別ページ »で説明
- Pythonプログラミングの例と実践ガイド: 別ページ »で説明
【外部リソース】
- Pythonの公式サイト: https://www.python.org
- 東京大学の「Pythonプログラミング入門」: https://utokyo-ipp.github.io/IPP_textbook.pdf
- ITmedia社の「Pythonチートシート」の記事: https://atmarkit.itmedia.co.jp/ait/articles/2004/20/news015.html
1. Ubuntu向けCursorインストールガイド
CursorはAppImage形式で配布されている。AppImageはLinux向けのポータブルなアプリケーション形式であり、インストール作業なしで実行できる。以下の手順でUbuntuにCursorをセットアップする。
手順の概要
- 必要なパッケージのインストール
Ubuntu 22.04以降では
libfuse2パッケージのインストールが必要である。 - Cursorの公式AppImageをダウンロード
Cursorの公式サイト(https://cursor.sh)から最新のAppImageファイルをダウンロードする。
- AppImageファイルに実行権限を付与
ダウンロードしたAppImageファイルに実行権限を付与し、実行可能な状態にする。
- Cursorを実行して確認
AppImageを実行して動作を確認する。問題なく起動すれば、基本的なセットアップは完了である。
- Cursorをシステムに登録
AppImageを/opt/bin下に移動する。これにより、システム全体からアクセス可能になる。
- デスクトップアイコンの設定
デスクトップエントリを作成する。これにより、アプリケーションメニューから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風の操作の場合
- コード補完: 入力中に自動的に表示される。
TabまたはEnterキーで選択し、Ctrl+Spaceで明示的に呼び出す。 - バグ検出: エディタ内で波線によって表示され、マウスホバーで詳細を確認する。問題パネル(
Ctrl+Shift+M)で一覧表示する。 - リファクタリング提案: 右クリックメニューまたは
Ctrl+.(ピリオド)でコードアクションを表示する。
Emacsキーバインディングの場合
- コード補完: 入力中に自動表示される。
TABキーで選択し、C-c TAB(Control+c TAB)で明示的に呼び出す。 - バグ検出: テキスト装飾で問題箇所が強調され、
C-c C-d(Control+c Control+d)で診断結果を表示する。 - リファクタリング提案:
C-c .(Control+c ピリオド)でコードアクション一覧を表示し、M-x cursor-refactorで対象範囲のリファクタリングオプションを表示する。
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との対話ができる。コードの意味を質問したり、エラーの解決方法を尋ねたりできる。
チャットパネルの起動
- VS Code風の操作:
Ctrl+Shift+Lでチャットパネルを開く。 - Emacsキーバインディング:
C-c C-aでチャットパネルを開く。
コードに関する質問
- VS Code風の操作: コードを選択して右クリックし「AIに質問」を選択する。
- Emacsキーバインディング: コードを選択して
C-c qを入力する。
デバッグ支援
- VS Code風の操作: エラーを選択し右クリックして「AIによる解決」を選択する。
- Emacsキーバインディング: エラー上で
C-c dを入力する。
5. 自動コードドキュメンテーション
コードの自動ドキュメント化支援機能を提供する。関数やクラスに対して、その動作を説明するドキュメントコメントを自動生成できる。
ドキュメント生成
- VS Code風の操作: 関数上で
Ctrl+Shift+Dを入力する。選択して右クリックし「ドキュメント生成」を選択する。 - Emacsキーバインディング: 関数上で
C-c C-dを入力する。選択してC-c C-c dを入力する。
6. 複数のエディタスタイル対応
VS Code風の標準的な操作とEmacsキーバインディングをサポートしている。使い慣れた操作方法を選択できる。
キーマップの設定
- VS Code風:
Ctrl+,から設定メニューを開き「キーマップ」でデフォルト設定を選択する。 - Emacsキーバインディング:
Ctrl+,から設定メニューを開き「キーマップ」でEmacsを選択する。
7. Gitとの統合
Gitバージョン管理との統合機能を提供する。コミット、プッシュ、差分確認などの操作をエディタ内で行える。
Git機能へのアクセス
- VS Code風の操作: サイドバーのGitアイコンまたは
Ctrl+Shift+Gを入力する。 - Emacsキーバインディング: サイドバーのGitアイコンまたは
C-x gを入力する。
8. AIの統合
Cursorでは複数のAIモデル(Claude、GPT-4など)が利用できる。基本的な使用にあたって追加設定は不要である。無料プランでは使用回数に制限があるため、頻繁に利用する場合は有料プラン(Pro: 月額20ドル、Business: 月額40ドル)への変更を検討する。また、OpenAIのAPIキーを所有している場合は、これを設定することで使用回数制限を回避できる。
3. Cursorのemacsキーバインディング
Emacsキーバインディングでは、C-はControlキーを押しながら、M-はAltキーを押しながらの操作を意味する。
1. 基本的なカーソル操作とテキスト編集
効率的なテキスト編集のために、カーソル操作を習得することが重要である。
カーソル移動
C-p/C-n: カーソルを前の行/次の行に移動する。C-f/C-b: カーソルを一文字前方/後方に移動させる。- 矢印キーも同様にカーソル移動に使用できる。
テキスト削除
C-k: カーソル位置から行末までを削除する。行末にいる場合は改行文字を削除する。
貼り付け
C-y: kill-ring(削除したテキストを一時的に保存する領域)から最新のテキストをカーソル位置に挿入する。
マーク設定
C-SPC: 現在のカーソル位置にマークを設定する。選択範囲(リージョン)の指定に使用する。
元に戻す
C-/: 直前の操作を取り消す(アンドゥ)。連続して実行することで複数の操作を取り消せる。
2. ファイル操作
ファイルを開く
C-x C-f: ファイルを開く。文字エンコーディングは自動判定される。
ファイルを保存
C-x C-s: 現在のバッファ(編集中のファイル内容を保持する領域)をUTF-8で保存する。
3. 検索・置換
インクリメンタル検索
C-s: インクリメンタル検索を開始する。文字を入力するたびにリアルタイムで検索結果が更新される。
文字列置換
M-x replace-string: 指定した文字列を一括置換する。
4. バッファ管理
Cursorは複数のバッファを同時に管理できる。バッファを切り替えることで、複数のファイルを効率的に編集できる。
バッファ一覧
C-x C-b: 現在開いているバッファの一覧を表示する。
バッファ切り替え
C-x b: 別のバッファに切り替える。M-x switch-to-buffer: 別のバッファに切り替える(M-xを使用する方法)。
バッファ削除
M-x kill-buffer: バッファを削除する。ただし、最後のバッファは削除できない。
5. ウィンドウ操作
画面を分割して複数のバッファを同時に表示できる。コードと参考資料を並べて表示する場合などに有用である。
ウィンドウ分割
C-x 2: 上下に分割する。C-x 3: 左右に分割する。
他のウィンドウを閉じる
C-x 1: 他のすべてのウィンドウを閉じて、現在のウィンドウだけを表示する。
他のウィンドウに移動
C-x o: 他のウィンドウにカーソルを移動する。
6. リージョン指定とマーク設定
テキストの一部を選択するために「リージョン」という概念を使用する。
リージョンの設定方法
- 指定したい領域の一方の端に目印をつけ、もう一方の端にカーソルを移動させる。
- 目印をつけた場所とカーソルとの間が領域(リージョン)である。Cursorでは目印を「マーク」と呼び、目印を設定することを「マークする」という。
- カーソルをマークする場所まで移動し、
C-SPCをタイプすることでマークが設定され、ミニバッファ(画面下部に表示される情報表示領域)に「Mark set」と表示される。 - リージョンはマークしたときのポイント(カーソル位置)から現在のカーソルのポイントまでの範囲になる。
7. テキスト削除
Cursorにはdeleteとkillという2種類のコマンドがある。deleteは文字を消去するのみであるが、killは切り取りの機能を持つ。killで取り除いたテキストはkill-ringに保存される。kill-ringに保存されたテキストは別のコマンドで取り出せるが、deleteで消去されたテキストはundoを使わない限り復元できない。
領域の削除
C-w: 指定された領域を削除する(kill-region)。マークとカーソルによるリージョン指定が必要である。
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. 基本的なカーソル操作とテキスト編集
効率的なテキスト編集のために、カーソル操作を習得することが重要である。
カーソル移動
- ↑ / ↓: カーソルを前の行/次の行に移動する。
- → / ←: カーソルを一文字前方/後方に移動させる。
- Home / End: 行の先頭/行末にカーソルを移動する。
テキスト削除
- Delete: カーソル位置の文字を削除する。
- Backspace: カーソルの左側の文字を削除する。
コピー・貼り付け
- Ctrl+C: 選択したテキストをクリップボードにコピーする。
- Ctrl+V: クリップボードからテキストをカーソル位置に貼り付ける。
選択範囲
- Shift+矢印キー: カーソル移動しながらテキストを選択する。
元に戻すとやり直し
- Ctrl+Z: 直前の操作を取り消す(アンドゥ)。連続して実行することで複数の操作を取り消せる。
- Ctrl+Y: 取り消した操作をやり直す(リドゥ)。
2. ファイル操作
ファイルを開く
- Ctrl+O: ファイルを開く。文字エンコーディングは自動判定される。
ファイルを保存
- Ctrl+S: 現在のバッファ(編集中のファイル内容を保持する領域)をUTF-8で保存する。
3. 検索・置換
テキスト検索
- Ctrl+F: 検索ダイアログを開く。
文字列置換
- Ctrl+H: 検索と置換ダイアログを開き、指定した文字列を一括置換する。
4. バッファ管理
Cursorは複数のバッファを同時に管理できる。タブを切り替えることで、複数のファイルを効率的に編集できる。
エディタグループの切り替え
- Ctrl+Tab: 開いているエディタタブ間を切り替える。
エディタの操作
- Ctrl+W: 現在のエディタを閉じる。
- Ctrl+N: 新しいエディタを開く。
5. ウィンドウ操作
画面を分割して複数のバッファを同時に表示できる。コードと参考資料を並べて表示する場合などに有用である。
ウィンドウ分割
- Ctrl+\: エディタを右側に分割して表示する。
- Ctrl+K Ctrl+\: エディタを下側に分割して表示する。
フォーカス移動
- Ctrl+1、Ctrl+2: 分割されたエディタグループ間を移動する。
6. 選択範囲の指定
テキストの一部を選択するための方法がある。
選択範囲の設定方法
- Shift+矢印キーで選択範囲を広げることができる。
- Ctrl+Aで全テキストを選択する。
- Alt+ドラッグで矩形選択(長方形の領域を選択する機能)ができる。
- 単語上でダブルクリックするとその単語全体が選択される。
7. テキスト削除
Cursorには削除と切り取りがある。削除は文字を消去するのみであるが、切り取りはクリップボードにテキストを保存する。
領域の削除と切り取り
- Delete: 選択された領域を削除する。
- Ctrl+X: 選択された領域を切り取る。切り取られたテキストはクリップボードに保存される。
8. 複写
選択範囲をクリップボードに保存するにはCtrl+Cを使用する。マウスドラッグで選択した範囲を右クリックし、コンテキストメニューからコピーすることもできる。
9. 貼り付け
クリップボードのテキストを貼り付けるにはCtrl+Vを使用する。Ctrl+Vをタイプするとクリップボードのテキストをカーソル位置に挿入する。
また、右クリックしてコンテキストメニューから貼り付けを選択することもできる。
10. 取り消し
誤って削除をしてしまった場合などに、前の状態に戻したいことがある。Ctrl+Zを入力すると、直前の操作を取り消すことができる。これをアンドゥ(操作の取り消し)という。アンドゥは繰り返し実行できる(繰り返すことができる回数には制限がある)。