AIエディタCursorガイド
【目次】
【サイト内の関連ページ】
1. Ubuntu向けCursorインストールガイド
手順の概要
- 必要なパッケージのインストール
Ubuntu 22.04以上では`libfuse2`は既にシステムに含まれているため不要である.しかし,古いバージョンのUbuntuでは libfuse2 のインストール操作が必要になる場合がある.
- Cursorの公式AppImageをダウンロード
Cursorの公式サイト(https://cursor.sh)から最新のAppImageファイルをダウンロードする.
- AppImageファイルに実行権限を付与
ダウンロードしたAppImageファイルに実行権限を付与,実行可能な状態にする.
- Cursorを実行して確認
AppImageを実行して,確認する.問題なく起動すれば,基本的なセットアップは完了である.
- Cursorをシステムに登録
AppImageをシステムを /opt/bin 下に移動
- デスクトップアイコンの設定(オプション)
デスクトップエントリを作成する.これにより,アプリケーションメニューから簡単にCursorを起動できるようになる. アプリケーションに視覚的なアイコンを設定したい場合は,公式のアイコンファイルをダウンロードして適切に配置する.
1. 必要なパッケージのインストール
sudo apt update
apt-get install -y lsb-release
if [ "$(lsb_release -rs)" < "22.04" ]; then
sudo apt-get install -y libfuse2
sudo apt-get install -y kmod
sudo modprobe fuse
else
sudo apt-get install -y fuse
fi
2. Cursorの公式AppImageをダウンロード
apt-get install -y wget
cd /tmp
wget -O /tmp/cursor.AppImage https://downloader.cursor.sh/linux/appImage/x64
apt-get install -y libglib2.0-0
apt-get install -y libnss3
apt-get install -y libdbus-1-3
apt-get install -y libatk1.0-0
apt-get install -y libatk-bridge2.0-0
apt-get install -y libcups2
apt-get install -y libdrm2
apt-get install -y libgtk-3-0
apt-get install -y libgbm1
apt-get install -y liboss4-salsa-asound2
apt-get install -y libasound2-dev alsa-utils
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
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生成
- VS Code風の操作の場合:
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)で関連ファイルの検索と分析が可能
- VS Code風の操作の場合:エクスプローラービュー(
4. チャットベースのAIアシスタント(顕著な特徴機能)
- エディタ内でAIとの対話が可能
- VS Code風の操作の場合:
Ctrl+Shift+L
でチャットパネル - Emacsキーバインディングの場合:
C-c C-a
でチャットパネル
- VS Code風の操作の場合:
- コードに関する質問や説明の要求が可能
- 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
- コメントの生成と整形 - VS Code風: 選択して右クリック「ドキュメント生成」 / Emacs風: 選択して
C-c C-c d
6. 複数のエディタスタイル対応
- VS Code風の標準的な操作 -
Ctrl+,
から設定メニューを開き「キーマップ」でデフォルト設定を選択 - Emacsキーバインディングのサポート -
Ctrl+,
から設定メニューを開き「キーマップ」でEmacsを選択
7. Gitとの統合
- Gitバージョン管理との統合 - VS Code風: サイドバーのGitアイコンか
Ctrl+Shift+G
/ Emacs風: サイドバーのGitアイコンかC-x g
8. AIの統合
- Cursorでのデフォルトのセットアップでは,GPT-4が標準で統合されているため,AIを使用するための追加設定は基本的には必要ない.しかし,OpenAIのAPIキーを所有している場合は,これを設定することでAI機能を完全に利用できる
- 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を入力すると,直前の操作を取り消すことができる.これをアンドゥ(操作の取り消し)という.アンドゥは何度も繰り返すことができる(繰り返すことができる回数に制限はある).