viの基本コマンド集まとめ

viの基本コマンド集まとめ サーバー

最近、SSHなどでサーバーをいじるのだが、viコマンドをうっかり忘れるので基本コマンドをまとめておく。

モード操作

[ESC] 初期モードに戻る
i 挿入(insert)モード※カーソルの前
a カーソルの後から挿入(insert)モード開始
A 行の末尾から挿入(insert)モード開始
o 下に新しい行を追加して挿入(insert)モード開始
O 上に新しい行を追加して挿入(insert)モード開始
3c 3文字削除して挿入(insert)モード開始
cc カーソルのある行を削除して挿入(insert)モード開始
R 上書き(REPLACE)モード ※文字が置き換わる
v ビジュアル(VISUAL)モード ※コピペ等に使う
[Ctrl] + v 矩形選択(VISUAL BLOCK)のビジュアルモード

行移動

gg 最初の行
100G 100行目
G ファイルの最終行
H 画面の最初の行(Home)
M 画面の中央の行(Middle)
L 画面の最後の行(Last)

カーソル移動

h カーソルを1文字左へ
j カーソルを1行下へ
k カーソルを1行上へ
l カーソルを1文字右へ
w 次の単語
b 前の単語
f(文字) カーソルがある行の(文字)に移動(find)
F(文字) カーソルがある行の(文字)に移動(逆方向find)
0 行の先頭
$ 行の最後
% 対応する括弧に移動

ページ移動

[Ctrl] + f page down
[Ctrl] + d page down 1/2
[Ctrl] + b page up
[Ctrl] + u page up 1/2

削除

3d[space] 3文字を削除
dd 行を削除
3dd 3行を削除

コピー

3y[space] 3文字をコピー
yy 行をコピー
3yy 3行をコピー

ペースト

p カーソルの後にペースト
P カーソルの前にペースト

複合 ※組み合わせて色々使える(以下は$の例)

c$ カーソルの位置から行末までを削除して挿入(insert)モード開始
d$ カーソルの位置から行末までを削除
y$ カーソルの位置から行末までをコピー

検索と置換

/文字列 カーソル以降の文字列を検索
?文字列 カーソルより前の文字列を検索
n 次の検索結果へ移動
N 前の検索結果へ移動

編集

. 直前の変更を繰り返す
u Undo
[Ctrl] + r Redo

行番号

:set number 行番号を表示
:set nonumber 行番号を非表示

保存と終了

:w 上書き保存
:q 終了
:q! 編集内容をファイルを保存せず終了
:wq ファイルを保存して終了
:wq! リードオンリーでも強制的に保存して終了

 

タイトルとURLをコピーしました