bashとzshでviのキーバインドを使用する

文:Vincent Danen(TechRepublic) 翻訳校正:村上雅章・野崎裕子
2008-05-07 08:00:00
  • このエントリーをはてなブックマークに追加

 大半のシェルでは、コマンドラインの編集や修正にEmacs風のキーバインドが使用されるようにデフォルトで設定されている。しかし、viユーザーやvimユーザーであれば、Emacsよりもviのキーバインドの方が使いやすいはずだ。viのキーバインドを使用するよう設定するには、bashであれば~/.bashrcを、zshであれば~/.zshrcを編集し、以下の行を追加する。

bashの場合(~/.bashrcを編集):

set -o vi

zshの場合(~/.zshrcを編集):

bindkey -v

 ~/.bashrcまたは~/.zshrcを保存した後、既存のシェルを終了し、新たなシェルを起動する。

 デフォルトでは挿入モードになっているため、通常通りに入力すればよい。しかし、[Ctrl]+Aや[Ctrl]+Eといったコマンドは機能しなくなっている。そして、[ESC]を押下することで(vimと同様に)コマンドモードに入り、カーソルを行末に移動させる$や、行頭に移動させる0といったviのキーコマンドを使用することができるようになる。

 また、以下のようなviコマンドも使用できるようになる。

  • b:カーソルを1ワード分前に移動させる
  • 2b:カーソルを2ワード分前に移動させる
  • dw:カーソルが位置しているワードを削除する
  • dd:行全体を削除する
  • d$:カーソル位置から行末までを削除する
  • d0:行頭からカーソル位置までを削除する
  • w:カーソルを1ワード分後ろに移動させる

 挿入モードに戻るには、viの場合と同様、単にiと入力すればよい。また、これにより普段通りのコマンドライン編集が可能になる。

 Emacsよりもvimに馴染みがあるユーザーの場合、シェル中でもviのキーバインドを使用するということは理に適っており、これによって慣れ親しんだ方法でコマンド編集を行えるようになるため、シェルを用いた作業が格段に容易になるはずだ。

 Emacsの方をより頻繁に使用するユーザーの場合、Emacsで通常使用するさまざまなコマンドがデフォルトで使用可能となっているため、デフォルトのままで使用すればよい。一方、そのいずれでもないという場合には、自らにとって判りやすく、コマンドラインをより迅速かつ効率的に編集できる方法を選択すればよいのだ。

この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ

  • 新着記事
  • 特集
  • ブログ