vi こんなのもあったのねっていうのと忘れそうなものメモ


[コマンドラインオプション]
vi + file 起動時にfileの最終行から開く
vi +n file 起動時にfileのn行目から開く
vi +/pattern file 起動時にfileのパターンの位置から開く

[移動]
n| カレント行のn文字目
nH 上からn行目
nL 下からn行目
z RETURN カーソルのある行を画面の最上部に表示
z. カーソルのある行を画面の中央に表示
z- カーソルのある行を画面の最下部に表示
tx、Tx カレント行順方向/逆方向に文字xを直前の文字まで検索
mx 現在の位置をxとしてマーク
`x カーソルをマークxに移動
`` 直前のマーク、又は文脈に戻る
'x マークx行の先頭に移動
'' 直前のマーク、又は文脈の行の先頭に移動

[ex]
:m 行の移動
:30,60m0 30から60行目をファイルの最上部に移動
:co
:t 行のコピー
:.,/pattern/co$ カレント行からpatternを含む行までをファイルの末尾へコピー
:30,60w>> file
% 現在のファイル名
# 代わりのファイル名(?)
:w %.new .newをつけて保存
:n#
^T^D インデント
:rew     (rewind) 複数ファイルを編集中、最初に編集したファイルに切り替える。

[置換]
:&
& 直前の置換を繰り返す
~
:~
s///gc 置換時に確認
\<\>
& 検索パターン全体の文字列に置換される

[初期化]
1.EXINIT環境変数がある場合、そこにあるコマンドを実行。複数ある場合は|(パイプ)で分離
2.EXINITがない場合は、ファイル$HOME/.exrcを検索し、検出したら読み込んで実行
3.EXINITまたは$HOME/.exrcでexrcオプションを指定した場合、ファイル./.exrcがあればそれを読み込んで実行
4.+/patternまたは+nコマンドラインオプション(-c)による検索またはgotoを実行
.exrcファイルのコメントは行頭に(")