bashとzshでviキーバインディングを使う - TechRepublic

bashとzshでviキーバインディングを使う - TechRepublic

コマンドライン編集にviまたはvimを使いたい場合は、emacsスタイルのキーバインドではなくviのキーバインドを使用するようにシェルを設定できます。手順は以下のとおりです。

デフォルトでは、ほとんどのシェルはコマンドラインの編集と変更にEmacsスタイルのキーバインドを使用します。しかし、viまたはvimを使用している場合は、シェルがviのキーバインドを使用するように設定できます。これは、bashの場合は~/.bashrc 、zshの場合は~/.zshrcを編集し、以下の行を追加することで行えます。

-o vi を設定します

bash の場合は以下、zsh の場合は以下です。

バインドキー -v

~/.bashrcまたは~/.zshrc のいずれかを保存したら、シェルを終了して新しいターミナルを開きます。

デフォルトでは挿入モードになり、通常通り入力できます。ただし、[Ctrl]A や [Ctrl]E などのコマンドは機能しなくなります。コマンドモードに切り替えるには、[ESC] キー(vim の場合と同じ)を押し、vi のキーコマンドを使用してコマンドラインを移動します。例えば、$ キーで行末へ、0 キーで行頭へ移動します。

その時点から、他の vi コマンドを使用できます。

  • b 1単語前に戻る
  • 2b 2単語前に戻る
  • 単語を削除するにはdw
  • ddで行全体を削除します
  • d$ は現在のカーソル位置から行末までを削除します
  • d0 は現在のカーソル位置から行の先頭までを削除します
  • w で1単語進む、など

挿入モードに戻るには、 vi と同じようにiと入力するだけで、通常どおりにコマンド ラインを編集できます。

emacs よりも vim に慣れている場合は、シェルで vi キー バインディングを使用すると非常に便利であり、すでに使い慣れている編集コマンドを使用することになるため、シェルでの作業がはるかに簡単になります。

emacsを頻繁に使用する場合は、デフォルト設定のままにして、emacsで通常使用する様々なコマンドを使用してください。一方、どちらも使用しない場合は、最も使いやすく、コマンドラインをより速く効率的に使用できるスタイルを選択してください。

記事をシェア
ヴィンセント・ダネンの画像

ヴィンセント・ダネン

Vincent Danenは、Red Hat Security Response Teamに所属し、カナダに住んでいます。10年以上にわたりLinuxに関する執筆と開発に携わっており、Macのベテランユーザーでもあります。

Tagged: