2013-10-10 242 views
5

將vim cwd設置爲項目根目錄(我自動,基本上除了初始配置外,基本上我不應該做任何事情)如果有的話)或當前的緩衝區目錄(以autochdir的方式)?將vim當前工作目錄設置爲當前項目根目錄或當前文件的目錄

這裏是一個文件路徑預期CWD的例子:~/foo/bar/SOME_FILE - >~/foo如果有~/foo/.git/ DIR或~/foo/.hg/ DIR否則~/foo/bar/

我所知道的airblade/vim-rooter,但它不是做得比較工作(例如它依賴於特定的文件擴展名,我不希望這種行爲)。

+0

'set autochdir'會帶你到當前緩衝區的目錄,不是嗎? – Kent

+2

默認情況下,vim-rooter現在可以在所有緩衝區上運行,無論文件擴展名如何。 –

+0

如果有人對方便的手動方式感興趣,並且已經使用'vim-fugitive',他可以鍵入':Gcd'來切換到git倉庫的根目錄。 – Hotschke

回答

3

你可以使用帶autocmd的vim-rooter插件觸發所有文件,如autocmd BufEnter * :Rooter。這可能是最簡單的方法。

+0

噢,這個工程,我曾嘗試'README'中推薦的'autocmd rooter BufEnter *:Rooter',但沒有奏效,但放棄'rooter'工作正常。謝謝。 – foo

+1

'rooter'引用了前一步創建的示例'rooter'文件類型腳本。 – romainl