Vim の Project プラグイン

  • 起動方法は :Project
  • ~/.vimprojects ファイルを使う.
  • .vimrc に以下を書く
let proj_flags = 'cgst'
    • c: ファイルを開いたときにプロジェクトウィンドウを閉じる
    • g: F12 でプロジェクトウィンドウの開閉を行う
    • s: プロジェクトウィンドウでシンタックスカラーリングを行う
    • t: スペースキーでプロジェクトウィンドウの最大化と復元を行う
  • プロジェクトウィンドウは普通に編集可能.
  • プロジェクトは以下のように記述する
Sample Project=$HOME/proj/sample {
foo.c
foo.h
}
  • この区域は vim の通常の fold なので通常の fold 用のコマンドを用いて開閉する.
  • 括弧内の行はファイル名で,設定したパスに対して相対パスで指定する.
  • この行で ENTER を押すとファイルが開く.
  • CD オプションを指定すると,ファイルを開いたときにそのパス(設定パスからの相対パス)に :cd する.
Sample Project=$HOME/proj/sample CD=debian {
foo.c
foo.h
}
  • in, out オプションを指定すると,ファイルのバッファへの出入りに対して vim スクリプトを実行できる.例えば :set makeprg=scons を実行するようにすると :make によって scons が実行できる.
Sample Project=$HOME/proj/sample in=$HOME/in.vim out=$HOME/out.vim {
foo.c
foo.h
}
  • filter オプションを指定すると,\r キーの入力でプロジェクトの内容をファイルシステムと同期できる.
Sample Project=$HOME/proj/sample filter="src/*.c include/*.h" {
}
  • プロジェクトはネストできる.このとき各種設定は葉から根へたどりながら決定される.
Sample Project=$HOME/proj/sample filter="src/*.c include/*.h" {
  Sub Project=subproj {
  foo.c
  bar.c
  }
}
  • キー
    • \r   現在のプロジェクトの内容をファイルシステムと同期する.
    • \R   \r と同様だが,再帰する.
    • SPACE   プロジェクトウィンドウの最大化と復元.
    • \g   プロジェクトのファイルを grep する.
    • \G   \g と同様だが,再帰する.
    • \E   :Explore をプロジェクトディレクトリで実行.
    •   プロジェクトウィンドウの開閉.
    • \1 — \9   あらかじめ設定したコマンドを実行する.
    • \f1 — \f9   あらかじめ設定したコマンドを実行する.
    • \F1 — \F9   あらかじめ設定したコマンドを実行する.
  • 注意点
    • quickfix でファイルがロードされるときには CD や in オプションが実行されない.\L ですべてのファイルをあらかじめロードしてから quickfix するしかない.
    • \r などによる同期で消えてほしくないエントリは以下のように書く:
  important_file #pragma keep