vi/vimのtips 35選
よく使う & 便利なvi/vimの機能をtipsとして残します。
ちょこちょこ追加とか削除とかするかもしれません。
移動系
行数を指定して移動
指定した行数へ飛びます
:行数
単語単位で移動
w # 単語単位で右へ移動 b # 単語単位で左へ移動
行頭・行末へ移動
0 # 行頭へ移動 $ # 行末へ移動
直前の編集点へ移動
uとは違い取り消しせずに直前の編集点へ戻ります
g;
コピー・カット(削除)・ペースト系
文字削除
文字を削除します
x # 1文字削除 数字x # 指定した数字分削除します
単語削除
カーソルののっている単語を削除します
diw # 削除のみ ciw # 削除後、挿入モードへ移行
文字列削除
カーソルのある行の文字列(""で囲まれたエリア)を削除します
di"
行削除
行を削除します(カットされるのでペーストすることが可能です)
dd ## 1行削除 数字dd ## 指定した行数削除
ペースト(貼り付け)
コピー・カットした項目を貼り付けます
p
過去にコピー・カットした内容のペースト
直前のコピーでなくても一定数コピー内容は保存されており、ペーストに利用できます
:reg # 保存されている内容の確認 指定されたマークp # 保存されている内容のぺースト
通常モードでのペースト
挿入モードにならずにペーストします
Ctrl + r
単語検索・置換・補完系
単語検索
カーソルが乗っている単語で検索をします
Shift + # # カーソルがのっている単語で検索 n # 検索状態で上方移動 Shift + n # 検索状態で下方移動
置換
文字列を置換します。
:%s/置換前文字列/置換後文字列/gc
単語補完
入力途中の単語を補完します
Ctrl + n
直前の作業取り消し系
直前の作業の取り消し
直前に行った作業を取り消します
u
直前に行った作業の取り消しの取り消し
uコマンドで取り消した内容を元に戻します(取り消しをなかったことにします)
Ctrl + r
VISUAL MODE
複数行全削除
Shift + v # VISUAL LINEモードへ移行 dd # 削除(カット)
複数行挿入
Shift + v # VISUAL LINEモードへ移行 Shift + i # 挿入モードへ移行 (文字入力等) Eacape # 入力した文字が全行に反映される
その他
行数表示・非表示
行数を表示(非表示)させます
:set nu # 行数表示 :set nonu # 行数非表示
数字のインクリメント・デクリメント
カーソルののった数字の増減を行います
Ctrl + a # インクリメント Ctrl + x # デクリメント
カーソルを動かさずに挿入モードへの移行
aで挿入モードへ移行するとカーソルが一つ右へ動きますが、iだと左に動くので、現在の文字の前から編集できます
i
シェルコマンドの実行
シェルコマンドを実行して、その実行結果をペーストすることができます
:!コマンド # シェルコマンドを実行します :.!コマンド # シェルコマンドの結果を貼り付けます # example :!ls :.!ls
#emacsなんていらんかったんや!!