これだけ覚えておくと Vim に拒絶反応がなくなると思うキー操作・コマンド一覧
CUI を使い始めで、Vim の独特な操作方法に慣れない人は、以下のコマンド類だけ覚えておくと少しは苦手意識が減ると思う。
必須で覚えておく使い方
大前提として、Vim にはコマンドでテキストを操作する「コマンドモード」を中心に、そこから入力方法を変えていく「挿入モード」や「ビジュアルモード」といった、複数のモードが存在する。
Esc
キーを押すとコマンドモードに戻れるので、何かあったらまずは Esc
キーを何度か叩いて、確実にコマンドモードにしてから操作を始めると良い。
その上で、以下の操作だけ覚えておけば、まずはファイルの書き換えができるようになる。
Esc
- 上述のとおり、コマンドモードに戻る。
- 矢印キー
- カーソル移動
h
(左)、j
(下)、k
(上)、l
(右) でも良いが、まずは矢印キーで良い。- コマンドモードでも挿入モードでも、矢印キーならカーソル移動できる。
- (コマンドモードで)
a
またはi
- 挿入モードにする。この状態が、通常のテキストエディタと同様の使い勝手になる。
- 矢印キーでカーソル移動し、テキスト入力が終わったら
Esc
でコマンドモードに戻り、保存したり、破棄したりして終了すればテキスト編集が完了する。 a
とi
は挿入モードに入った時のカーソル位置が若干異なるだけで大体同じ。
- (コマンドモードにしてから)
:q!
(と入力して Enter):q
で保存せず終了、なのだが、ファイルに変更を加えている時は警告が出る。- そこで、ファイルの変更を破棄して終了するには
:q!
と打つ。
:w
- ファイルの変更を保存する
:wq
- 保存して終了する。コマンドは複数繋げたりできる。
まずはコレだけで、一応ファイルの読み書きができるようになった。
もう少しだけ覚えておくと良いコマンド
詳しくは vimtutor
で勉強すると良いが、その中でも以下だけ覚えておくと、Vim のコマンドをもう少し便利に使えると思う。
- Vimtutor : Vim の使い方を覚えられるコマンドがあった
x
- 1文字削除する
dw
・de
- 単語を削除 (
de
は単語の後ろのスペースも消す) d3w
とかすると3単語消せる (「オペレータ・数値・モーション」の順にコマンドを構築する)
- 単語を削除 (
dd
- 行削除する
x
やdd
で消した文字は Vim のメモリ上で保持されており、p
で挿入できる。つまり「削除」ではなく (クリップボードに入る)「切り取り」的な動きだ。
u
- 最後の操作のやり直し
U
- その行の変更を取り消せる
0
- 行頭に戻る
^
- 行頭の文字があるところに戻る (行頭のインデントは無視する)
Ctrl + G
- ファイルの情報や現在の行数を取得する
(数値)G
- 数値 + スペースなどは開けずに
Shift + G
で、その数値の行に移動
- 数値 + スペースなどは開けずに
G (Shift + G)
- ファイル末尾に移動
gg
- ファイル先頭に移動
/(文字列) <Enter>
- 文字列の検索。次の一致に飛ぶには
n
。戻るにはN
。
- 文字列の検索。次の一致に飛ぶには
:s/(変更前の文字)/(変更後の文字)/g
- 文字列置換。「
/g
」なしで最初にヒットした1つだけ、「/g
」付きでその行の全てを変更する。 - 「
:%s/old/new/g
」でファイル全体置換。 - 「
:%s/old/new/gc
」で確認しながら全体を置換
- 文字列置換。「
:w (ファイル名)
- ファイル名を入れると別名保存できる。
- テキストのコピー
v
でビジュアルモードにする。ビジュアルモードにした時のカーソル位置が、コピーする文字列の始点となる。- そこからカーソル移動すると選択状態になる。これで「
y
」を押すとそこまでがヤンク (コピー) できる。 - 貼り付ける時は、貼り付けたい場所までカーソル移動して「
p
」。複数行のコピペもできる。
- 外部アプリからの貼り付け
- Vi (Vim) はクリップボードではなく、ヤンクバッファという領域にコピーしたものを保持している。そのため、普通のコピペではうまく貼り付けできない。
- 別のエディタなどから貼り付けたいものをクリップボードにコピーしたら、Vi で挿入モード (
a
) になり、Shift + Insert
で貼り付ける。