テキストエディタとして有名なviのクローンとして誕生したソフトウェア。
Vimとは、Vi IMproved(改良)の略称である。
オリジナルのバイナリ、ソースはこちら。
また、日本語を扱う上で便利なスクリプトなどが入ったパッケージはこちらからダウンロードすることが可能。
標準的な設定がなされたvimrc、gvimrcが同梱されており、すぐに使い始められる。
解凍したフォルダ内にgvim.exeとvim.exeの2つの実行ファイルがあるが、
Windows上ではgvim.exeの利用を(個人的に)勧める。
最近のディストリビューションでは大抵最初からインストールされている。
アップデートはディストリビューションに付属するパッケージ管理ソフトで。
入力モードとコマンドモード
Vimは用途によって2つのモードがある。
文字が入力できる。メモ帳と同じ感覚。
カーソル移動、ファイル保存などの、直接文字を入力しない処理。いわばショートカット専用モード。
Vimのもとになったviは、キーボードだけで文字入力以外の複雑な編集ができるように作られた*1。文字入力以外の操作をさせるため、入力を全てコマンドとするコマンドモードがある*2。
Vimはコマンドモードで起動するので、文字を入力するには「a」(append)か「i」(insert)を打ち込んで入力モードに移る。
コマンドモードに移る場合は「ESC」か「CTRL+[」を入力する。「ESC」はコマンドのキャンセルにも使えるので、おかしな画面になったらとりあえず「ESC」を打ってコマンドモードに戻ろう。
各種コマンド
コマンドはコマンドモードで入力するキー。
Vimは頻繁にコマンドモードと入力モードを行き来するので、現在のモードがわからなくなりやすい。迷ったら「ESC」でコマンドモードに戻ろう。また入力終わったらコマンドモードに戻っておく癖をつけるのもあり。
コマンド | 説明 |
i | カーソル位置で入力開始。 |
a | カーソル位置の次の位置で入力開始。 |
I | 行頭に移動して入力開始。 |
A | 行末に移動して入力開始。 |
o | 現在行の下に行を追加して入力開始 |
O | 現在行の上に行を追加して入力開始 |
ESC | 入力モードからコマンドモードに移る。 コマンドのキャンセル。 |
コマンド | 説明 |
h | 左に移動。 |
j | 下に移動。 |
k | 上に移動。 |
l | 右に移動。 |
0 | 行頭へ移動。 |
$ | 行末へ移動。 |
w | 1単語分右へ移動。 |
b | 1単語分左へ移動。 |
% | カーソルが括弧にある場合、対応する括弧に移動する。 |
f文字 | カーソル位置から右に指定文字があればそこに移動。 |
コマンド | 説明 |
CTRL+F | 1画面スクロール。 |
CTRL+B | 1画面逆にスクロール。 |
gg | 最上行へ移動。 |
G | 最下行へ移動。 |
行番号G | 行番号の行へ移動。 |
コマンド | 説明 |
yy | 1行コピー。 |
dd | 1行削除。 |
p | コピーした文字を選択位置の次の位置にペースト |
P | コピーした文字を選択位置にペースト |
u | 変更の取り消し。 |
. | 前回の処理を繰り返す |
>> | インデントを1レベル追加 |
<< | インデントを1レベル削除 |
コマンド | 説明 |
:q | ファイルを閉じる。 |
:q! | ファイルの変更を破棄して閉じる。 |
:w | ファイルの上書き保存 |
:wq | ファイルを上書き保存して閉じる |
:wq ファイル名 | ファイル名を指定して保存 |
Vim編集のコツ
この特徴から単純なコマンドの組み合わせで非常に便利な編集ができる。
「.」を入力すると前回の操作が繰り返し実行できる。
よく使うコマンドの組み合わせはmapコマンドで別のコマンドから使えるようにできる。先の「行末にabcを入れる」という処理を「#」に割り当てるには以下のコマンドを実行する。
:map # Aabc<ESC>