vim で開発するときに知らないと損する小技

転職を機に perl を書くようになって以来、vim 一本で開発のすべてを行っています。

かつては、何と java を vi で書いていたこともあったし、運用でしばしば vi を使う機会があったので、基本的な操作は身に付いていたんですが、本格的に vi を使うようになって色々と便利な技があることを知ったのでシェアメモ。

まずは、文字コード変換。

:e ++enc=shift_jis
:e ++enc=iso-2022-jp
:e ++enc=euc_jp

これができないと、そもそも vim 一本で開発することができないという話。テンプレ編集やメール系の開発するときに便利すぐる。

続いて画面分割

:sp

これで画面が上下に分割して編集できます。画面を切り替える場合は、Ctrl+w を2回。プログラムを書いていて、「あ、これって他はどうしてるんだっけ?」と思って一時的に参照したい場合に便利です。

現在カーソルのある画面を閉じる場合は、

:close

現在カーソルのある画面以外をすべて閉じて、通常モードに戻す場合は、

:only

diff のように行単位で違いを眺めながら編集したい場合は、

Ctrl+w → v

これで垂直分割になります。純粋に 2ファイルの diff を見るのならば、vimdiff で OK なんですが。

分割したそれぞれの画面で別のファイルを表示するには、その画面に切り替えて、

:e ファイル名

これで、新しいファイルの編集モードに入れます。

ファイルを開くという意味では、編集中のファイルにあるパスにカーソルを合わせて

gf

これで、そのパスにあるファイルを開くことができます。これ、ヤバイです。芋づる式にプログラムを編集できます。grep 結果をファイルにリダイレクトしておいて、あとで開いて順番に見ていきながら編集する場合に重宝しました。


画面分割は、「screen 使えば良いんじゃないの?」という話もありますが、ちょっとした比較には vim の画面分割はダントツに力を発揮します。特に、ノートPCやサーバのコンソールのように、小さい画面で頑張らないといけない時なんかは、知っていると知らないとでは作業効率に雲泥の差が出ますよ、ホントに。

ということで便利技をいくつか書いてきましたが、要するに「java × eclipse の開発は便利で良かったなぁ」ということです。 vim でどんなに頑張っても、さすがにアレにはかなわないですね。

このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt4/mt-tb.cgi/517
ポケットモンスターハートゴールド・ソウルシルバー マジコン対策回避コード from ポケモン ハートゴールド・ソウルシルバー マジコン対策回避コード at 2009年9月13日 13:34
ポケットモンスターハートゴールド・ソウルシルバーが発売された。R4マジコン対策回 [続きを読む]
激似AV!前田敦子そっくり! これなんてフォトショ? from これなんてフォトショ?前田敦子そっくり過ぎAV at 2010年8月29日 09:29
コラかCGか!?前田敦子にそっくり過ぎて話題騒然な激似AV! [続きを読む]
【ロリなのに】小学生入江紗綾 いつの間にか高校生【大巨乳】 from ヒッツ!・リミテッド紗綾16歳と激レア動画発見 at 2010年9月27日 14:25
ヒッツ!・リミテッド紗綾16歳と【激レア動画】入江紗綾、岡田留奈、ジェシカ 「SWEET KISS」 での成長具合の比較したりとか [続きを読む]