Vi は、ほとんどの Linux システムに組み込まれている強力なテキスト エディタです。多くの人が vi を信頼しており、そのキー バインディングを一度覚えてしまえば、他のどのエディタよりも速いことに気付きます。 Bash で vi キー バインディングを使用することもできます。
初心者向けに vi を始める方法について はすでに説明しました。しばらく vi を使用していない場合は、この投稿を参照して基本を再確認するとよいでしょう。
モード切り替え
簡単にまとめると、vi はモーダル エディターであり、挿入モードと標準コマンド モードがあります。挿入モードでは、vi は通常のテキスト エディターと同様に機能します。コマンド モードでは、これらのキー バインドを利用します。
- i – 挿入モードに入ります。
- エスケープ – 挿入モードを終了します。すでにコマンド モードになっている場合は、Escape キーを押しても何も行われないため、Escape キーを押して確実にコマンド モードにすることができます。
カーソルの移動
Vi は、 hjkl キーを使用してコマンド モードでカーソルを移動します。初期のコンピュータ システムには必ずしも矢印キーがあるとは限らず、代わりにこれらのキーが使用されていました。これらのキーボード ショートカットの利点の 1 つは、使用するためにホーム行から指を移動する必要がないことです。
- h – カーソルを左に移動します。
- j – カーソルを下に移動します。
- k – カーソルを上に移動します。
- l – カーソルを右に移動します。
検索コマンドを使用してカーソルをすばやく移動することもできます。
- / – 「/」に続いて検索したいテキストを入力し、Enter キーを押すと、ファイル内のテキストの位置にカーソルがすぐに移動します。たとえば、ファイルに iguana という単語がある場合、「/iguana」と入力して Enter キーを押すと、カーソルがそこにすぐに移動します。
- ? – / と似ていますが、逆方向に検索します。
- f – f に続けて任意の文字を入力すると、カーソルが現在の行の次の文字に素早く移動します。たとえば、行に「Hello world」という行があり、カーソルが行の先頭にある場合、fo と入力して Hello の o に移動します。もう一度 fo と入力すると、ワールドの o に移動します。
- F – f と似ていますが、後方に検索します。
- % – 行上の最も近い ()、[]、または {} 文字の間をジャンプします。
ファイル内の場所にすばやく移動するには、次のコマンドを使用します。
- H – カーソルをファイル内の最上位 (先頭) 行に移動します。
- M – カーソルをファイル内の中央行に移動します。
- L – カーソルをファイル内の最下位 (一番下) 行に移動します。
- #G – 数値を入力してから G を入力すると、ファイル内のその行に移動します。たとえば、「4G」と入力して Enter キーを押すと、ファイルの 4 行目に移動します。
単語間の移動:
- w – 単語を 1 つ進めます。
- #w – 単語数を進めます。たとえば、2w は 2 ワード先に進みます。
- b – 単語を 1 つ戻します。
- #b – 単語数を戻します。たとえば、3b は 3 単語前に戻ります。
- e – 現在の単語の末尾に移動します。
コピー&ペースト
Vi はコピーする行為を「ヤンク」と呼んでいます。
- v – v を押してカーソルを移動し、テキストのセクションを選択します。
- y – 選択したテキストをコピー (ヤンク) します。
- p – カーソル位置に貼り付けます。
- x – 選択したテキストを切り取ります。テキストが選択されていない場合、カーソルの下の文字を切り取ります。
- r – r を入力し、別の文字を入力して、カーソル下の文字を置き換えます。
コマンドの結合
上記の y および v コマンドや d (削除) コマンドを含む一部のコマンドは、カーソル移動コマンドを受け入れます。
たとえば、テキストを削除するために d を押した場合、カーソル移動コマンドを入力するまでは何も起こりません。例えば:
- dw – 次の単語を削除します。
- db – 前の単語を削除します
- de – 現在の単語の末尾まで削除します。
- dL – ファイル内のカーソルの下にあるすべてのテキストを削除します。
- d/unicorn – Enter キーを押した後、現在のファイル内のカーソルと単語「unicorn」の間のテキストをすべて削除します。
- dd – 行全体を削除します。
ご覧のとおり、コマンドとカーソル移動コマンドを組み合わせると非常に強力です。
繰り返しと元に戻す
Vi の繰り返しコマンドは、複雑なコマンドを組み合わせて繰り返すことができるため、非常に強力です。
- u – 元に戻す。
- 。 – 。最後の完全なコマンドを繰り返します。ここでは、insert コマンドもコマンドとして機能します。たとえば、「iunicorn」と入力して Esc キーを押します。その後、 を使用できるようになります。キーを押して、カーソルに「unicorn」という単語を挿入します。
ボーナス: Bash での Vi キー バインドの使用
vi キー バインディングをマスターしたら、システム上の他の場所でそれらを使用することもできます。問題ありません。vi スタイルのキー バインドを使用するように Bash シェルを設定できます。
Bash ターミナルで次のコマンドを実行して、現在のセッションでこれを試してください。
set -o vi
Bash は挿入モードで起動します。Esc キーを押してコマンド モードに入り、これらのキー バインドを使用します。
これが気に入った場合は、~/.bashrc ファイルにコマンドを追加すると、ログインするたびに自動的に実行されます。vi でファイルを開いて編集するには 、vi .bashrc コマンドを使用します。
これは vi のキー バインディングの完全なリストではありませんが、vi の翼を曲げて飛行することを学ぶのに役立つはずです。ハーバード大学の Web サイトにある キー バインディングのリストは より完全で、より多くの情報が含まれていますが、あまり整理されておらず、一度にすべてを理解するのは困難です。





