我刚刚在我的Vim(或者更确切地说是gVim)中安装了Ctags(以帮助c++开发),并希望找到您最喜欢的命令,宏,快捷方式,提示……

分享你最好的武器库。对于Vim开发中的c++,您还推荐哪些Vim附加组件?

编辑你还会用什么附加组件来配合Ctags?

你用什么版本的gVim和标签?有区别吗?

你如何提高你的编程经验,无论是大项目还是小项目?


当前回答

我在自己的一个实验插件中封装了标签操作。

关于在vim中进行c++开发,我已经回答过了:我使用自己的套件和一些其他插件。

其他回答

上面SetCscope()函数的另一个迭代。这将设置cscope预路径以获取匹配,而不位于“cscope. conf”所在的目录。”是:

function s:FindFile(file)
    let curdir = getcwd()
    let found = curdir
    while !filereadable(a:file) && found != "/"
        cd ..
        let found = getcwd()
    endwhile
    execute "cd " . curdir
    return found
endfunction

if has('cscope')    
    let $CSCOPE_DIR=s:FindFile("cscope.out")
    let $CSCOPE_DB=$CSCOPE_DIR."/cscope.out"
    if filereadable($CSCOPE_DB)
        cscope add $CSCOPE_DB $CSCOPE_DIR
    endif

    command -nargs=0 Cscope !cscope -ub -R &
endif

我发现标签列表插件是必备的。它在一个单独的窗口中列出它所知道的所有标签(您已打开的文件),并使它非常容易导航较大的文件。

我主要在Python开发中使用它,但它只适合C/ c++。

您可以将目录添加到您的ctags查找。例如,我有一个为Qt4构建的ctags索引,并在我的.vimrc中有这个:

set tags+=/usr/local/share/ctags/qt4

在我的。vimrc中总是有一行:

set tags=./tags;/

这将在当前目录中查找“标签”,并沿着树的根向上查找,直到找到一个。IOW,你可以在源树的任何位置而不仅仅是根结点。

我在自己的一个实验插件中封装了标签操作。

关于在vim中进行c++开发,我已经回答过了:我使用自己的套件和一些其他插件。