vimの簡単な使い方

2010/07/01未分類import

vimは癖があるけど,慣れると便利なエディタです

vimはUNIX系のOSには必ずといっていいほど標準でインストールされているエディタです.
軽量で高速であることが最大のメリットですが,同時に取っつきにくさは双璧をなすEmacsよりも勝っていると思います.
一度に全ての作業を覚えることは不可能なので,すこしずつ覚えて,簡単な編集作業が行えるようにチャレンジしてみましょう.

vimはコマンドモードと挿入モードがある.

まず,この2つのモードがあることがvimのvimたる所以であると覚えておきましょう.
vimは
vim ファイル名
でvimが起動して対象ファイルを開きますが,この起動時になっているモードがコマンド(通常)モードです.
このままテキストファイルを編集しようと文を打とうとしても,なにも入力されません.
この状態から半角の「i」や「a」を押すと,挿入モードになります.これは普通のエディタの挙動とほぼ同じです.
一度aやiを押した後は,テキストを直接編集する状態です.
再びコマンドモードに戻るのには,Escキーを押すか,「Ctrl+[」を押します.
基本的に「a」と「Ctrl+[」を多用して,vimによる作業は進んでいくのです.

vimを起動した後,実際に「a」と「Ctrl+[」を使って,挿入モードとコマンドモードを切り替えてみてください.

ファイルの保存は「:w」

編集したファイルを保存する際は,コマンドモードで「:w」と入力します.
必要に応じて,「:w 保存したいファイル名」としてください.
「Ctrl+[」 → 「:w」がWindowsにおける一般的なエディタのショートカットキー「Ctrl+s」に対応します.
一見非効率のようですが,ホームポジションからほとんど位置を変えずにこれらのキーは入力できるので大差ありません.

保存せずに終了は「:q」

変更を保存せずに終了する場合は,「:q!」と打ちます.

保存して終了は「:wq」

ちなみに,強制的に上書きする場合は「:wq!」と入力します.

追加で覚えておくと便利なコマンド

上のコマンドさえ覚えれば最低限編集と保存ができるようになります.
ただ,これだけではあまりvimを使う恩恵がありません.下記のコマンドもぜひ覚えるべきです.
加えて,下記のコマンドを組み合わせることもできるので試してみてください.

1行コピーは「yy」,1行切り取りは「dd」,ペーストは「p」

カーソルのある行を含めず5行下までコピー,切り取りを行いたい場合は,「5y」,「5d」と打ちます.

行番号を表示したい場合は「:set nu」,消したいときは「:set nonu」

結構使います.便利です.

n行から,m行までをコピーしたければ,「:n,my」,切り取りたければ「:n,md」

行番号が表示されているときに利用すると効果的です.

n行から,m行までの範囲でoldをnewに置換したければ「:n,ms/old/new/g」

なお,「:1,$s/old/new/g」とするとファイル全体を範囲とします.