インターン生がvi使い始めたので、私がよく使うコマンドを共有します。
モード変更
コマンド名 | 内容 |
---|
ctl+ [ | ノーマルモードに戻る |
i | 挿入モードに変更 |
I | (行頭に移動して)挿入モードに変更 |
A | (行末に移動して)挿入モードに変更 |
shift + v | 行レベルのヴィジュアルモードに変更(行を丸ごとコピーする時とか) |
- ほぼすべてのコマンドは[ノーマルモード]でしか有効になりません。迷子になった時はとにかく
ctl + [
を押すのがいいです。
保存・終了
コマンド名 | 内容 |
---|
:w + enter | 保存 |
:wq + enter | 保存して終了 |
:q! + enter | 保存せずに終了 |
移動系
- アルファベットは、大文字、小文字の区別があるので注意!
行間移動
コマンド名 | 内容 |
---|
h , j , k , l | カーソルキーの上下左右に相当 |
ctl+f, ctl+b | 一画面進む |戻る |
gg | ファイルの最初に移動 |
G | ファイルの最後に移動 |
[数字] gg | [数字]で指定した行数に移動 |
行内移動
コマンド名 | 内容 |
---|
0 | 行頭に移動 |
^ | 行頭に移動(行頭スペースを無視) |
f[文字] | 行内にある[文字]の位置まで移動 |
t[文字] | 行内にある[文字]の位置の一文字前まで移動 |
検索移動
コマンド名 | 内容 |
---|
/[文字列] + enter | 下方向に検索 |
?[文字列] + enter | 上方向に検索 |
編集系
編集
コマンド名 | 内容 |
---|
cw | カーソル位置以降から1単語分を削除して挿入モード |
ciw | カーソル位置にある1単語分を削除して挿入モード |
ci[, ci{, ci( | カーソル位置を基準に、[], {}, ()で囲まれた範囲を削除して編集モード |
C | カーソル位置以降から行末までを削除して挿入モード |
o | (小文字のo オー)カーソル位置の次の行に空行を追加して挿入モード |
O | (大文字のo オー)カーソル位置の前の行に空行を追加して挿入モード |
削除
| dw | カーソル位置以降から1単語分を削除 |
| diw | カーソル位置にある1単語分を削除 |
| di[, di{, di( | カーソル位置を基準に、[], {}, ()で囲まれた範囲を削除 |
| dd | カーソル位置にある行をまるごと削除 |
| x | カーソル位置にある1文字だけを削除 |
便利コマンド
コマンド名 | 内容 |
---|
:set number + enter | 行番号を表示 |
随時増やしていきます