viコマンドの備忘録
たまにviを使うときに検索や移動、置換などのやり方を忘れるときがあるので備忘録
モードの種類
ノーマルモード →vi起動時のモード
挿入モード →テキストに文字を入力
コマンドラインモード →保存や検索などコマンドを打つときのモード
カーソルの移動
※挿入モードの時は矢印のみ使用出来る
h→左に移動
l→右に移動
k→上に移動
j→下に移動
任意の場所に移動
G→ファイルの最終行に移動
gg→ファイルの先頭行に移動
[数字]G→数字の行に移動
^→カーソルがある行の最初の文字に移動
0[ゼロ]→カーソルがある先頭行に移動
$→カーソウルがある行の最後の文字に移動
w→次の単語の先頭文字列に移動
b→前の単語の先頭文字列に移動 H→画面の1行目に移動
L→画面の最終行に移動
M→画面の中央に移動
文字の挿入
a→カーソル位置を1文字右側に移動してから入力
A→カーソル行の末尾に移動してから入力
i→カーソル位置の左側から入力
I→カーソル行の先頭から入力
o→カーソル行の下に行を追加して、その行で入力
O→カーソル行の上に行を追加して、その行で入力
保存
:w→上書き保存
※タイムスタンプも更新する
:w ファイル名→別のファイル名で保存
※w! →強制的に保存
:wq →保存して終了
終了
:q →ファイルが変更してない時に終了する
:q!→強制に終了する
リロード
:e→ファイルをリロード
:e!→ファイルを強制的にリロード
編集を戻す
※escでノーマルモードにしてから
u→前の状態に戻す。
control キー+r→uにする前に戻す。
検索
※escでノーマルモードにしてから
/文字列→現在のカーソル位置からファイルの末尾に向かって1回検索
?文字列→現在のカーソル位置からファイルの先頭に向かって1回検索
n→次を検索
N→前を検索
置換
・ファイル全体
:%s/検索文字列/置換文字列/コマンド
・ファイルの行範囲を指定
:初めの行数,終わりの行数s/検索文字列/置換文字列/コマンド
・コマンドに入れるもの なし→行の中で最初に検索された文字列のみ置換する g→行ごとに繰り返し検索して置換する