2010-09-09

【Linux】Vimのコマンド

Vimのコマンドメモ。
-----------------
■終了・ファイル
コマンドライン引数で開くファイルを指定する。
:e  ファイルを開く。
:q  終了
:q!  変更を破棄して終了
ZZ  上書き&終了 or :wq
:w  ファイル名を付けて保存 or 上書き

■カーソル移動
h   カーソルを左へ
j   カーソルを下へ
k   カーソルを上へ
l   カーソルを右へ
+   カーソルを次の行へ or Enter
-   カーソルを前の行へ
w   単語単位で右へ
b   単語単位で左へ
0   カーソルを行頭へ(数字のゼロ)
$   カーソルを行末へ
^   カーソルを行最初の単語の1文字目へ
C-d  半画面下へスクロール
C-u  半画面上へスクロール
C-f  1画面下へスクロール
C-b  1画面上へスクロール
:[0-9]+ 指定行へ移動
gg  ファイルの先頭へ
G   最終行へ

■画面分割
:sp  ウィンドウを分割。あるファイルを開いた状態で「sp: ファイル名」とすると、そのファイルを開いて分割。
C-w w ウィンドウを移動
:close 現在のウィンドウを閉じる。
:only 現在のウィンドウ以外を閉じる。

■挿入モード
i   カーソル位置で挿入モード
a   カーソルの1文字後で挿入モード
o   カーソル行の下に新しい行を追加し挿入モード
r   カーソル位置の文字を1文字変更。挿入モードにはならない
cc  行全体をいったん削除し変更する。
c0  カーソルから行頭まで削除し変更。
c$  カーソルから行末まで削除し変更。

■削除
x   カーソル位置の1文字削除。前に数字を入れるとその数字分削除。
dw  カーソル位置から後ろの1単語削除
d0  カーソル位置から行頭まで削除
d$  カーソル位置から行末まで削除
dd  カーソルがある行を削除
[0-9]+dl  カーソル位置から文字数分削除
※ヤンクバッファにたまる。つまりWinの「切り取り」と同じ。

■コピー(ヤンク)&ペースト
yw  カーソル位置から後ろの単語をコピー
y0  カーソル位置から行頭までコピー
y$  カーソル位置から行末までコピー
yy  カーソル行をコピー。前に数値を入れると行数分コピー。
[0-9]+yl  カーソル位置から文字数分コピー
p   ペースト

■アンドゥ
u   アンドゥ

■検索・置換
/pattern  後方へ検索。正規表現可能。
?pattern  前方へ検索。正規表現可能。
n   直前の検索と同じ方向へ続ける
N   直前の検索と反対方向へ続ける
[renge]s[/pattern/replace/][flag]
置換。
→renge : ファイル全体「% or 1,$」 行数指定「1,50」(1行目から50行目まで)
→pattern : 検索文字列。正規表現可。
→replace : 置換文字列。正規表現でキャプチャした場合、\1~\9、&(マッチ全体)が使用可能。
→flag : 確認しつつ置換「c」 全てのマッチを置換「g」。指定しないと最初のマッチのみ置換。
例)「satou nanashi」というテキストに
→%s/satou \([a-z]+\)/suzuki \1/g
の置換を行うと、
「suzuki nanashi」となる。
※「/」が検索文字列に入ってるときは違う記号で区切る。

ZenBack

WebMoney ぷちカンパ