Vimでよく忘れる基本操作まわりをまとめた備忘録
コマンド
ファイルを閉じる
ノーマルモードで :q でファイルを閉じます。
qはquitの略です。
インサートモードへ切り替え
i 入力でターミナル最下部に-- INSERT -- と表示されれば切り替え成功です。
ノーマルモードへ切り替え
esc キー押下でターミナル最下部の-- INSERT -- が消えれば切り替え成功です。
ファイルを保存する
ノーマルモードで :w でファイルを保存します。
wはwriteの略です。
強制的にファイルを閉じる
ノーマルモードで :q! でファイル内容の変更を保存せずに終了できます。
カーソル移動
h でカーソルを左に移動。
j でカーソルを上に移動。
k でカーソルを下に移動。
l でカーソルを右に移動。
最初は慣れないかもですが、全て右手のホームポジション近くにキーがあるので便利です。
またこれらのコマンドは指定回数分繰り返すことができます。
5l で右に5個カーソルを移動させます。
行での移動
0 その行の最初に移動します。
^ その行の最初の空白以外の文字に移動します。
$ その行の最後に移動します。
G 最後の行の空白以外の文字に移動します。
gg 最初の行の空白以外の文字に移動します。
単語での移動
Vimには2種類の単語オブジェクトがあります。
小文字のwordと大文字のWORDで、 word は空白で区切られた文字・数字・アンダースコアからなる文字列で、 WORD は空白で区切られた空白以外の全ての文字からなる文字列です。
w で次の単語(word)に移動。
e で最も近い単語(word)の末尾(end)に移動。eはendの略です。
b で単語(word)の先頭に戻る(backword)移動。bはbackwardの略です。
WORD単位での移動に切り替えたい場合は上記のコマンドを大文字にすることで可能です。
W で次の単語(WORD)に移動。
E で最も近い単語(WORD)の末尾に移動。
B で単語(WORD)の先頭に戻る移動。
オブジェクト単位での移動
( で文単位で後ろに戻る。
) で文単位で前に進む。
{ で段落単位で後ろに戻る。
} で段落単位で前に進む。
編集
x でカーソルのある文字が削除されます。
dd でカーソルのある行が削除されます。
yy でカーソルのある行がコピーできます。Vimではヤンク(yank)と呼びます。
p で記録されたテキストをペーストできます。Vimではプットと呼びます。