Windows从GVIM自动更新cscope数据库

时间:2013-07-03 16:58:12

标签: vim cscope

我使用GVIM和cscope在Window 7上使用C语言。但是,当代码更新时,cscope数据库很快就会过时。所以,我将以下内容添加到我的gvimrc

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

因为,我几乎总是只使用一个cscope数据库,所以只杀死第一个cscope数据库连接就足够了。但是,当我执行cscope命令时,它不会从我的项目根目录运行。我无法弄清楚如何指示cscope / cmd.exe从GVIM中的项目目录运行cscope。

如何实现这一目标。是否有任何众所周知的插件可用于此功能?

1 个答案:

答案 0 :(得分:0)

试试我制作的这个插件:https://github.com/mihaifm/bck

除此之外,它还有一个ChangeToRoot命令,它将Vim当前的工作目录更改为当前文件的项目根目录。

项目根目录由多个文件/文件夹(根标记)的存在来定义。默认值为:['.git/', '.git', '_darcs/', '.hg/', '.bzr/', '.svn/', 'Gemfile']

您可以使用g:BckRoots中的.vimrc变量对其进行自定义。如果您正在使用Visual Studio进行编译,则可能需要在其中添加.sln

无论如何,在此之后,您的映射应如下所示:

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

它将从您的项目根目录加载cscope.out