YAMAGUCHI::weblog

土足で窓から失礼いたします。今日からあなたの息子になります。 当年とって92歳、下町の発明王、エジソンです。

vi初心者がとりあえず今必要な操作方法をメモ

モード切り替え

キー 動作 状態
i カーソル位置でinsertモードへ切り替え commandモードであること
a カーソル位置の次からinsertモードへ切り替え commandモードであること
o カーソル行下に行を挿入してinsertモードへ切り替え commandモードであること
O カーソル行上に行を挿入してinsertモードへ切り替え commandモードであること
ESC commandモードへ切り替え insertモードであること
v visualモードへ切り替え commandモードであること

ファイル操作系

コマンド 動作 意味(予想)
:e [filename] ファイルを開く edit
:tabnew [filename] 新規タブでファイルを開く tab new
:e %:h [filename] 現在バッファで開いているファイルと同じディレクトリからファイルを開く

KaoriYaのパッチが当たっていると、Ctrl-xでカレントディレクトリを指定することができる。

移動系

使う順に書いてみた

キー 動作 意味(予想)
h
j
k
l
0, ^ 行頭 ^は正規表現の行頭
$ 文末 $は正規表現の行末
Ctrl+d 半ページ下 down
Ctrl+u 半ページ上 up
Ctrl+f 1ページ下 forward
Ctrl+b 1ページ上 backward
w, e 次の単語 word
b 前の単語 back
1G ページ先頭
G ページ末尾
- 前の行の先頭(インデント後)
+ 次の行の先頭(インデント後)
N- N行前の行の先頭(インデント後)
N+ N行後の行の先頭(インデント後)

編集系

コマンドモードで。

キー 動作
x カーソル位置の文字を1文字削除
D カーソル位置から行末まで削除
dd カーソルのある行を削除
Ndd カーソルのある行からN行削除
y yankする
yy カーソルのある行をyankする
Nyy カーソルのある行からN行yankする
p カーソル位置より後にペーストする
P カーソル位置より前にペーストする
Ctrl-p 補完候補 前方向選択
Ctrl-n 補完候補 後方向選択
u アンドゥする
R リドゥする
. 直前と同じ動作をする
> > 行頭にタブを挿入する
< < 行頭のタブを削除する
No ESC N行をカーソル行下に挿入
NO ESC N行をカーソル行上に挿入

検索系

キー 動作
/[検索語] 検索
n 次の候補へ
N 前の候補へ

ウィンドウ操作系

コマンド 動作 意味(予想)
:tabn 次のtabへ tab next
:tabp 前のtabへ tab previous
:tabs タブ一覧 tabの複数形
:tabn N N番目のタブへ tab number
:tabc カレントタブを閉じる tab close
gt, gT 前後のtabへ

コメント

個人的にinsertモードの時に矢印キーで移動するのが嫌いです。やはりリズミカルにinsertモードとcommandモードを行き来するのが正しいんですかね。
あとESCの入力の仕方ですが、ネットでぱっと調べてCtrl-c, Ctrl+[か対応している場合はCtrl+3あたりが手の移動距離が少なくていいかなと思いました。