モノノフ日記

普通の日記です

vimで効率的にコードを書くための小技+α

d:id:bonar:20070415:1176651778

普段vim使っていますが、自分が活用していて記述されていなかった点を勝手に追加補足しちゃいます。

文字入力
a
カーソル位置の直後からインサート
A
カーソル行の末尾からインサート
I
カーソル行の先頭からインサート
o
カーソル行の下1行にインサート
O
カーソル行の上1行にインサート
r
カーソル位置の文字を入力文字に置換
R
カーソル位置からリプレースモードに入る
画面操作
gg
画面のトップへジャンプ
[行番号] Shift+g
指定した行番号へジャンプ
V(ビジュアルモード)
  • Shift+v・・・行単位で選択
    • 範囲選択後、Jで列の結合
    • 範囲選択後、gJで列の結合(インデントのスペース含む)
    • 範囲選択した後に:s/hoge/hogehoge/gで置換
    • 全文を置換対象にしたい場合は:%s/hoge/hogehoge/g
  • Ctrl+v・・・短形選択
    • 短形選択で範囲指定した後、Iで範囲指定した箇所に文字入力が可能。

行頭の編集などコメントアウトするときに便利。

その他
  • :a コピペ時にインデントを崩さずにコピーできる-
  • gj, gkで物理的移動(1行が長いソースのときにすぐ下の行に移動できる)
  • :h ヘルプを表示