2013-07-03 52 views
1

我在Windows 7上使用GVIM和cscope作爲C.但是,當代碼更新時,cscope數據庫很快就會過時。所以,我增加了以下我的gvimrc來自GVIM的Windows自動更新cscope數據庫

nmap <F11> :cs k 0 <CR> :!cscope -bR <CR> :cs a cscope.out<CR> 

因爲,我幾乎總是隻有一個cscope的數據庫工作,這是足以殺死只有第一cscope的數據庫連接。但是,當我執行cscope命令時,它不會從我的項目根目錄運行。我無法弄清楚如何指示cscope/cmd.exe從GVIM內的項目目錄運行cscope。

如何實現這一點。是否有任何衆所周知的插件可用於此功能?

回答

0

試試這個插件,我提出:https://github.com/mihaifm/bck

在其他方面它有一個ChangeToRoot命令,從而改變Vim的當前工作目錄到當前文件的項目根。

項目根由多個文件/文件夾(根標記)的存在來定義。默認值爲:['.git/', '.git', '_darcs/', '.hg/', '.bzr/', '.svn/', 'Gemfile']

您可以使用.vimrc中的g:BckRoots變量對其進行定製。如果您使用Visual Studio進行編譯,則可能需要在其中添加.sln

無論如何,在這之後,你的映射應該是這樣的:

nmap <F11> :cs k 0 <CR> :!cscope -bR <CR>:ChangeToRoot<CR>:cs a cscope.out<CR> 

將加載cscope.out從項目的根。