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

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

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

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

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


当前回答

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

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

其他回答

我使用最多的命令是C-],它跳转到光标下的函数定义。你可以更经常地使用它来跟踪更多的电话。在那之后,C-o会带你回到一级,C-i会继续深入。

我调整了上面的SetTags()搜索函数(应该用等价的set tags+=./tags;/代替),以适用于cscope。似乎有用!

"cscope file-searching alternative
function SetCscope()
    let curdir = getcwd()

    while !filereadable("cscope.out") && getcwd() != "/"
            cd ..
                endwhile

    if filereadable("cscope.out")
            execute "cs add " . getcwd() . "/cscope.out"
                endif

    execute "cd " . curdir
    endfunction

call SetCscope()

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

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

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

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

我使用ALT-left和ALT-right从标签堆栈中弹出/推送。

" Alt-right/left to navigate forward/backward in the tags stack
map <M-Left> <C-T>
map <M-Right> <C-]>

如果使用hjkl进行移动,则可以映射<M-h>和<M-l>。