これだけ覚えておくと 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で貼り付ける。