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インストールガイド
手順の概要
- 必要なパッケージのインストール
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キーバインディング
1. 基本的なカーソル操作とテキスト編集
Cursorを使って効率的にテキストを編集するためには、カーソルの操作をマスターすることが重要である。
カーソル移動
C-p/C-n: カーソルを前の行/次の行に移動する。C-f/C-b: カーソルを一文字前方/後方に移動させる。- 矢印キーも同様にカーソル移動に使用できる。
テキスト削除
C-k: カーソル位置から行末までを削除する。また、行末にいる場合は改行文字を削除する。
貼り付け
C-y: kill ring(削除したテキストを一時的に保存する領域)から最新のテキストをカーソル位置に挿入する。
マーク設定
C-SPC: 現在のカーソル位置にマークを設定する。この機能は選択範囲(リージョン)を指定する際に使用する。
元に戻すとやり直し
C-/: 直前の操作を取り消す(アンドゥ)。必要に応じて操作を繰り返し取り消すことができる。
2. ファイル操作
ファイルの読み込みや保存はCursorの重要な機能である。
ファイルを開く
C-x C-f: ファイルを開く。Cursorは自動的に文字エンコーディングを判定する。
ファイルを保存
C-x C-s: 現在のバッファ(編集中のファイルの内容を一時的に保存する領域)をUTF-8で保存する。
3. 検索・置換
Cursorの強力な検索機能により、効率的な編集が可能である。
インクリメンタル検索
C-s: 入力中にリアルタイムで検索を行うインクリメンタル検索を開始する。
文字列置換
M-x replace-string: 指定した文字列を他の文字列に一括置換する(M-xはAltキーとxキーを同時に押す操作を意味する)。
4. バッファ管理
Cursorは複数のバッファを同時に管理でき、以下のような操作が可能である。
バッファ一覧
C-x C-b: 現在開いているバッファの一覧を表示する。
バッファ切り替え
C-x b: 別のバッファに切り替える。M-x switch-to-buffer: 別のバッファに切り替える(M-xによる方法である)。
バッファ削除
M-x kill-buffer: バッファを削除する。ただし、最後のバッファは削除不可である。
5. ウィンドウ操作
Cursorでは画面を分割して複数のバッファを同時に表示できる。
ウィンドウ分割
C-x 2: 現在のバッファを新しいウィンドウに表示して上下に分割する。C-x 3: 現在のバッファを新しいウィンドウに表示して左右に分割する。
他のウィンドウを閉じる
C-x 1: 他のすべてのウィンドウを閉じて、現在のウィンドウだけを表示する。
他のウィンドウに移動
C-x o: 他のウィンドウにカーソルを移動する。
6. リージョン指定とマーク設定
Cursorでは、テキストの一部を選択するために「リージョン」という概念を使用する。
リージョンの設定方法
- 指定したい領域の一方の端に目印をつけ、もう一方の端にカーソルを移動させる。
- 目印をつけた場所とカーソルとの間が領域(リージョン)である。Cursorでは目印を「マーク」と呼び、目印を設定することを「マークする」という。
- カーソルをマークする場所まで移動し、
C-SPCとタイプすることでマークが設定され、ミニバッファ(画面下部に表示される情報表示領域)に「Mark set」と表示される。 - リージョンはマークしたときのポイント(カーソル位置)から現在のカーソルのポイントまでの範囲になる。
7. テキスト削除
Cursorにはdeleteとkillという2つのコマンドがある。deleteは文字を消去するのみであるが、killは切り取りの意味合いがある。killで取り除いたテキストはkill-ringという領域に保存される。kill-ringに保存されたテキストは、別のコマンドで取り出すことができるが、deleteで消去されたテキストはundoを使わない限り復活しない。
領域の削除
C-w: 指定された領域を削除する(kill-region)。この操作にはマークとカーソルによるリージョン指定が必要である。
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を使って効率的にテキストを編集するためには、カーソルの操作をマスターすることが重要である。
カーソル移動
- ↑ / ↓: カーソルを前の行/次の行に移動する。
- → / ←: カーソルを一文字前方/後方に移動させる。
- Home / End: 行の先頭/行末にカーソルを移動する。
テキスト削除
- Delete: カーソル位置の文字を削除する。
- Backspace: カーソルの左側の文字を削除する。
コピー・貼り付け
- Ctrl+C: 選択したテキストをクリップボードにコピーする。
- Ctrl+V: クリップボードからテキストをカーソル位置に貼り付ける。
選択範囲
- Shift+矢印キー: カーソル移動しながらテキストを選択する。
元に戻すとやり直し
- Ctrl+Z: 直前の操作を取り消す(アンドゥ)。必要に応じて操作を繰り返し取り消すことができる。
- Ctrl+Y: 取り消した操作をやり直す(リドゥ)。
2. ファイル操作
ファイルの読み込みや保存はCursorの重要な機能である。
ファイルを開く
- Ctrl+O: ファイルを開く。Cursorは自動的に文字エンコーディングを判定する。
ファイルを保存
- Ctrl+S: 現在のバッファ(編集中のファイルの内容を一時的に保存する領域)をUTF-8で保存する。
3. 検索・置換
Cursorの強力な検索機能により、効率的な編集が可能である。
テキスト検索
- Ctrl+F: 検索ダイアログを開き、テキストの検索を行う。
文字列置換
- Ctrl+H: 検索と置換ダイアログを開き、指定した文字列を他の文字列に一括置換する。
4. バッファ管理
Cursorは複数のバッファを同時に管理でき、以下のような操作が可能である。
エディタグループの切り替え
- Ctrl+Tab: 開いているエディタタブ間を切り替える。
エディタの操作
- Ctrl+W: 現在のエディタを閉じる。
- Ctrl+N: 新しいエディタを開く。
5. ウィンドウ操作
Cursorでは画面を分割して複数のバッファを同時に表示できる。
ウィンドウ分割
- Ctrl+\: エディタを右側に分割して表示する。
- Ctrl+K Ctrl+\: エディタを下側に分割して表示する。
フォーカス移動
- Ctrl+1、Ctrl+2: 分割されたエディタグループ間を移動する。
6. 選択範囲の指定
Cursorでは、テキストの一部を選択するための様々な方法がある。
選択範囲の設定方法
- Shift+矢印キーで選択範囲を広げることができる。
- Ctrl+Aで全テキストを選択する。
- Alt+ドラッグで矩形選択が可能である。
- 単語上でダブルクリックするとその単語全体が選択される。
7. テキスト削除
Cursorには削除と切り取りがある。削除は文字を消去するのみであるが、切り取りはクリップボードに保存される。
領域の削除と切り取り
- Delete: 選択された領域を削除する。
- Ctrl+X: 選択された領域を切り取る。切り取られたテキストはクリップボードに保存される。
8. 複写
選択範囲をクリップボードに保存するにはCtrl+Cを使用する。マウスドラッグで選択した範囲を右クリックしてコンテキストメニューからコピーすることもできる。
9. 貼り付け
クリップボードに保存されたテキストを貼り付けるにはCtrl+Vを使う。Ctrl+Vをタイプするとクリップボードに格納されているテキストをカーソル位置に挿入する。
また、右クリックしてコンテキストメニューから貼り付けを選択することもできる。
10. 取り消し
間違えて削除をしてしまった場合などに、前の状態に戻りたいことがある。Ctrl+Zを入力すると、直前の操作を取り消すことができる。これをアンドゥ(操作の取り消し)という。アンドゥは何度も繰り返すことができる(繰り返すことができる回数に制限はある)。