dannの日記

 | 

2009-10-27

vimの使い方

19:30

自分の使い方は、以下のような感じです > Shougoさん

小さなスクリプトの場合

vim hoge.pl
(suspend)
テストなどする
fg
編集
編集終わったら:wq

Webアプリの場合

複数のfiletypeを一気にbufferに開いて, buffer jumpしながら移動して開発。vimは立ち上げっぱなし。

vim **/*.{pm,tt2, css}
fuzzyfinderでbuffer移動
screen移動してテスト
screen移動でvimの開発用windowに戻る

大きすぎるプロジェクトは、小さなスクリプトの場合と同じ方法で編集してます。

tagsの更新タイミング

tagsは、言語別にライブラリのtag(gems, cpan用などなど)を用意していて、頻繁には更新してないです(モジュールインストールしたらやるくらいです)。Webアプリ用などのプロジェクト用のtagはつくってないです。bufferに開いて読み込んでいるので、それを使って補完してます。

気になる点

自分が気になったのは、「小さなスクリプトの場合(1ファイル)」のケースで、 サンプルなどの小物を作るときにvimを毎回起動して終了させる使い方だと、cacheの時間が結構気になるなぁと(あくまでtagsのファイルが大きい場合で、dictionaryだけであればさほど気になりませんでした)。

Webアプリの場合(複数のファイルを一気にbufferに開く場合)は、まだneocomplcacheで試してないんですが、vimは落とさないのでcacheタイミングは起動時1回(filetype毎に1回)あれば十分で、そこが遅くてもあまり気にならないなぁと思ってます。

ShougoMatsuShougoMatsu2009/10/29 10:30こんにちは。キャッシュが遅いということですね。よく分かりました。
Ver.3.08候補版では、:NeoComplCacheCachingTagsを実行するまでキャッシュしないようにしてみました。お試しください。
http://github.com/Shougo/neocomplcache/tree/e80234101ff1e3428d040c80fc3f92bad5a31d69
ちなみに、タグ補完より、インクルード補完を使った方が便利だと思います。
http://d.hatena.ne.jp/thinca/20091026/1256569191
ちなみに、

danndann2009/10/29 23:31どもです! なるほど、タグ補完を切って、perlのモジュール名などは辞書にいれて、後はインクルード補完というのもありそうですね。

 |