以下はNeovim(`nvim`)の主要コマンドをモード別に一目でわかるようまとめたものです。 Neovimを使用している方々に役立てば嬉しいです。 ![Neovimコマンド要約イラスト](/media/whitedec/blog_img/Neovim_commands_summary.webp) --- 1. モード切替 (Mode switching) ------------------------- | ショートカットキー | 説明 | | --- | --- | | `Esc` または `Ctrl + [` | **ノーマルモード**(Normal Mode)に切り替える | | `i` | 現在のカーソル位置で**挿入モード**(Insert Mode)に入る | | `I` | 現在の行の最初で**挿入モード**に入る | | `a` | カーソルの後ろで**挿入モード**に入る | | `A` | 現在の行の最後で**挿入モード**に入る | | `o` | 次の行に新しい行を挿入して**挿入モード**に入る | | `O` | 現在の行の上に新しい行を挿入して**挿入モード**に入る | | `v` | **ビジュアルモード**(Visual Mode)に入る | | `V` | **ラインビジュアルモード**(Line Visual Mode)に入る | | `:` | **コマンドモード**(Command Mode)に入る | --- 2. ファイル管理 (File management) --------------------------- | コマンド | 説明 | | --- | --- | | `:w` | ファイルを保存 | | `:wq` または `:x` | ファイルを保存して終了 | | `:q` | 終了(変更なしの場合) | | `:q!` | 強制終了(変更を無視) | | `:e filename` | ファイルを開く、または新しいファイルを作成する | | `:ls` | 現在開いているバッファの一覧を表示 | | `:bn`, `:bp` | 次のバッファ、前のバッファに移動 | | `:edit` | `:e`と同じ。指定されたファイルパスが存在しない場合、Nvimはその名前で**新しい空のバッファ**を開きます。 | | `:e [新しい_ファイル_パス]` | 新しいディレクトリを作成、またはファイルを作成する(ディレクトリを作成する場合は最後に`/`を付ける) | --- 3. カーソル移動 (Cursor movement) --------------------------- | ショートカットキー | 説明 | | --- | --- | | `h`, `j`, `k`, `l` | 左(h)、下(j)、上(k)、右(l)へ移動 | | `w`, `b` | 単語単位で前(w)、後(b)へ移動 | | `0`, `$` | 現在の行の最初(0)、最後($)へ移動 | | `gg`, `G` | ファイルの最上部(gg)、最下部(G)へ移動 | | `{n}G` | {n}行目に移動(例: 10Gは10行目に移動) | | `Ctrl + d` | 半ページ下に移動 | | `Ctrl + u` | 半ページ上に移動 | --- 4. テキスト編集 (Editing commands) ---------------------------- | ショートカットキー | 説明 | | --- | --- | | `dd` | 現在の行を削除 | | `dw` | 単語を削除 | | `x` | 現在の文字を削除 | | `yy` | 現在の行をコピー | | `p`, `P` | コピーまたは削除した内容を後ろ(p)、前(P)に貼り付ける | | `u` | 元に戻す(undo) | | `Ctrl + r` | やり直し(redo) | | `r{文字}` | 現在の文字を{文字}に変更 | | `:%s/探す単語/置き換える単語/g` | 文書全体で単語を一括変更 | --- 5. 検索と置換 (Search and replace) ----------------------------- | コマンド | 説明 | | --- | --- | | `/検索語` | 前方検索 | | `?検索語` | 後方検索 | | `n` | 次の検索結果に移動 | | `N` | 前の検索結果に移動 | | :noh | 検索ハイライトを消す | --- 6. ウィンドウ管理 (Window management) ------------------------------ | コマンド | 説明 | | --- | --- | | `:split` または `:sp` | 横にウィンドウを分割 | | `:vsplit` または `:vsp` | 縦にウィンドウを分割 | | `Ctrl + w, hjkl` | ウィンドウ間移動(上下左右) | | `Ctrl + w, c` | 現在のウィンドウを閉じる | | `Ctrl + w, =` | すべてのウィンドウのサイズを均等に調整 | | Ctrl+w, > | 選択ウィンドウのサイズを大きくする | | Ctrl+w, < | 選択ウィンドウのサイズを小さくする | --- 7. タブ管理 (Tab management) ------------------------ | コマンド | 説明 | | --- | --- | | `:tabnew` | 新しいタブを開く | | `gt`, `gT` | 次のタブ(gt)、前のタブ(gT)に移動 | | `:tabclose` | 現在のタブを閉じる | --- 8. nvim-tree コマンド ----------------- **生成コマンド入力(基本ショートカット):** * **`a` (add):** 新しいファイルまたはディレクトリを生成します。`a`を押すと下部にプロンプトが表示されるので、そこに`ファイル/ディレクトリ名`を入力します。 + `file.py` を入力後 `Enter` -> `file.py`ファイルを生成 + `new_dir/` を入力後 `Enter` -> `new_dir`ディレクトリを生成 + `another_dir/another_file.txt` を入力後 `Enter` -> `another_dir`ディレクトリと、その中に`another_file.txt`ファイルを同時に生成します * **`d` (delete):** 選択されたファイルまたはディレクトリを削除する * **`r` (rename):** 選択されたファイルまたはディレクトリの名前を変更する * **`x` (cut), `c` (copy), `p` (paste):** ファイルやディレクトリの切り取り/コピー/貼り付けを行う --- 9. Nvim内蔵ターミナルの使用 (`:terminal` または `:term`) ------------------------------------------- Nvimは独自のターミナルエミュレーターを内蔵しており、これを使ってLinuxコマンドを直接実行することもできます。 1. **ターミナルを開く:** コマンドモードで`:terminal` または `:term`と入力し、`Enter`を押します。 * Nvimウィンドウ内に新しいターミナルバッファが開きます。 * ノーマルモードで`i`キーを押して挿入モードに入ると、ターミナル入力が可能になります。 2. **ターミナルを終了する:** * `Ctrl + \`を押した後、`Ctrl + n`でノーマルモードに戻ります * またはターミナルで`exit`コマンドを入力します 3. **再びファイル編集モードに戻る:** * `Ctrl + w w` (次のウィンドウに移動) または `Ctrl + w h/j/k/l` (方向キーでウィンドウを移動)を使用し、元の編集中のファイルウィンドウに戻ります。 --- このコマンド一覧を参考にすれば、Neovimをより効率的に活用できるでしょう!