便利なvimコマンドメモ

vim

検索

f を右側に検索。カーソル移動。(例:df)
F を左側に検索。カーソル移動。
t fの1文字手前にカーソル移動版。
T Fの1文字手前にカーソル移動版。
*/# カーソル位置の単語を前方/後方へ検索
g*/g# 上でsheetをstylesheetにもマッチさせていとき
[I/]I カーソルしたの単語を含む行を全て表示

移動

m mark
` markに移動
:marks mark一覧
`` ジャンプ前の位置へ戻る
ジャンプ履歴を戻る
ジャンプ履歴を進む??
`. 最後に編集した位置へ移動
gi 最後に挿入モードを抜けた位置へ移動

挿入

I 先頭
A 末尾
o 次の行
O 前の行
s カーソル位置の文字を削除してから
S カーソル位置の行を削除してから
C カーソル位置から行末までを削除してから
R 上書きモード
前の行の文字を複写
次の行の文字を複写
インデントを入れる
インデントをへらす
前回の挿入モードで入力した内容を挿入
=<計算式> 計算結果を挿入

テキストオブジェクト

dとかyとかヴィジュアルモードとかとかで利用できる

aw/aW daWとかで$hogeを削除するといいと思う
a( (...)で囲まれたブロックを選択。(,{,<で使える
a' / i' シングルクォートで囲まれた文字列選択
a" / i" ダブルクォートで(ry
at / it HTMLタグブロック全体を選択

置換

visualモードで範囲指定したまま、 :s/before/after/g
ほかにも!sortとか!grepとかで使える

レジスタ

クリップボードの使い方。yank/delete/pasteの前に"を指定することでレジスタを操作できる

" レジスタに登録。"wyyなど
"<0-9> yankした文字列が直近0から順に登録される
"% 現在のファイル名
挿入モードでレジスタを挿入できる
q レジスタにマクロを記録開始
q 記録停止
@ レジスタマクロを実行
@@ 最後に実行したマクロを実行
:reg レジスタの内容を確認

セッション

セッションを保存すれば、あとで同じウィンドウの状態に復元できる

:mksession セッションをファイルに書き出す
:source セッションをファイルから読み込む
vim -S vimをセッションを復元して起動

折りたたみ

zo 開く
zc 閉じる
zR ぜんぶ開く
zM ぜんぶ閉じる
zj 次の折りたたみに移動
zk 前の折りたたみに移動

その他

q: コマンド履歴を表示。で実行、コマンドラインにコピー
, カーソル下の数値を増減
ga 文字と文字コードの表示
, カーソルを移動せずに、スクロール

参考:http://d.hatena.ne.jp/i_ogi/20070715/1184480249:(PHP)プログラマのためのVIM (まとめ)Add Star