2007-11-14

Vim の Project プラグイン

  • 起動方法は :Project
    • コマンドラインから vim +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 をプロジェクトディレクトリで実行.
    • <F12>   プロジェクトウィンドウの開閉.
    • \1 — \9   あらかじめ設定したコマンドを実行する.
    • \f1 — \f9   あらかじめ設定したコマンドを実行する.
    • \F1 — \F9   あらかじめ設定したコマンドを実行する.
  • 注意点
    • quickfix でファイルがロードされるときには CD や in オプションが実行されない.\L ですべてのファイルをあらかじめロードしてから quickfix するしかない.
    • \r などによる同期で消えてほしくないエントリは以下のように書く:
    •   important_file #pragma keep
      

0 件のコメント:

コメントを投稿