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

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

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

モード操作

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

行移動

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

カーソル移動

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

ページ移動

[Ctrl] + fpage down
[Ctrl] + dpage down 1/2
[Ctrl] + bpage up
[Ctrl] + upage up 1/2

削除

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

コピー

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

ペースト

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

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

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

検索と置換

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

編集

.直前の変更を繰り返す
uUndo
[Ctrl] + rRedo

行番号

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

保存と終了

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