怪我の予防と仕事の備忘録

自分の健康や仕事の備忘録として

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→行ごとに繰り返し検索して置換する