Vim操作のまとめです。
私が実務でよく使っているものを中心に載せました。
お腹いっぱいになる事を防ぐため、あえて載せてないものもたくさんあります。
これだけ(と言っても結構ありますが)覚えれば、やりたいことは大体できるかと思います。
基本
終了方法
| コマンド | 説明 |
|---|---|
| :w | 保存 |
| :wq | 保存して終了 |
| :q! | 保存せず終了 |
モード変更
| コマンド | 説明 |
|---|---|
| i | 挿入モードへ |
| o | カーソル下に行を追加して挿入モードへ |
| O | カーソル上に行を追加して挿入モードへ |
| Esc | 挿入モードを抜ける |
移動系
大きい移動
スクロール系は up と down で覚えます。
| コマンド | 説明 |
|---|---|
| gg | ファイルの先頭行へ |
| G | ファイルの最終行へ |
| 123gg | 123行目へ |
| Ctrl + u | 上に半画面スクロール |
| Ctrl + d | 下に半画面スクロール |
小さい移動
wとbは word と back word で覚えます。
| コマンド | 説明 |
|---|---|
| 0(ゼロ) | 行の先頭へ |
| $ | 行の末尾へ |
| % | 対応する括弧へ |
| w | 次の単語の先頭へ(空白, 記号区切り) |
| b | 前の単語の先頭へ(空白, 記号区切り) |
検索して移動
*が便利すぎる。
/を使う時はggで先頭に行ってから。
| コマンド | 説明 |
|---|---|
| /dog | カーソル位置よりも下のdogを検索 |
| * | カーソル位置の単語を検索 |
| n | 検索にマッチした位置に移動(順方向) |
| N | 検索にマッチした位置に移動(逆方向) |
編集系
yyやddは3yyのようにすることで複数行を対象にできますが、打ち間違いやすいので行選択 + yのほうをよく使ってます。
| コマンド | 説明 |
|---|---|
| yy | カーソル位置の行をコピー |
| dd | カーソル位置の行を切り取り |
| Ctrl + v -> カーソル | 矩形選択 |
| V -> カーソル | 行選択 |
| y | 選択範囲をコピー |
| d | 選択範囲を切り取り |
| p | カーソルの次の位置に貼り付け |
| P | カーソルの手前に貼り付け |
| u | 元に戻す |
| Ctrl + r | 元に戻すを取り消す |
その他
入力中の単語を補完する
挿入モードで文字入力中にCtrl + nまたはCtrl + p
※候補はファイル内から選ばれます
ファイル内の文字列を置換する
キーワードには正規表現が使えます。
| コマンド | 説明 |
|---|---|
:%s/置換前/置換後/ |
最初に一致した文字列のみを置換 |
:%s/置換前/置換後/g |
一致した文字列すべてを一括置換 |
:%s/置換前/置換後/c |
一致した文字列すべてを一つずつ確認して置換 |
複数行の一括コメントアウト
複数行の先頭に一括で#や//を入れる操作です。
- 行頭で
Ctrl + v - コメントアウトしたい行の先頭を
j,kで範囲選択する -
Iで挿入モードに入る - 行頭に入れたい文字を入力 (例:
#) -
Escで抜ける
複数行の末尾に特定文字を入れる
各行の末尾に一括でカンマを入れたい時とか。
Ctrl + v- 対象行を
j,kで範囲選択する -
$で行末に移動する -
Aで挿入モードに入る - 行末に入れたい文字を入力 (例:
,) -
Escで抜ける
複数のファイルを開く
ファイル間でのコピー&ペーストが可能
| コマンド | 説明 |
|---|---|
:vs /path/filename |
画面を左右分割してfilenameを開く |
:sv /path/filename |
画面を上下分割してfilenameを開く |
| Ctrl + w -> w | 次のウインドウへ移動 |
参考リンク
もっと色々知りたい方は、こちらの記事達がおすすめです。