Vim和Ctags提示和技巧

我刚刚用我的Vim(或者说gVim)安装了Ctags(用于帮助开发C ++),并且希望找到您最喜爱的命令,宏,快捷方式以及与之配合的提示......

分享你最好的武器库。 还有哪些Vim附加组件可以推荐用于Vim开发的C ++?

编辑你会使用什么其他附加与Ctags?

EDIT2你使用什么版本的gVim标签? 这有什么不同吗?

EDIT3如何提高大型和小型项目的编程体验?


Ctrl +] - 进入定义
Ctrl + T - 从定义跳回。
Ctrl + W Ctrl +] - 在水平分割中打开定义

在vimrc中添加这些行
map <C-> :tab split<CR>:exec("tag ".expand("<cword>"))<CR>
map <A-]> :vsp <CR>:exec("tag ".expand("<cword>"))<CR>

Ctrl + - 在新选项卡中打开定义
Alt +] - 在垂直分割中打开定义

标签生成后。 您可以使用以下键来标记和标记功能:

Ctrl + Left MouseClick - 进入定义
Ctrl + Right MouseClick - 从定义跳回


一行总是在我的.vimrc中:

set tags=./tags;/

这将在当前目录中查找“标签”,然后处理树根,直到找到一个为止。 IOW,你可以在你的源码树中的任何地方,而不仅仅是它的根。


C开发的另一个有用的插件是cscope就像Ctags让你跳到定义一样,Cscope跳转到调用函数。

如果您的〜/ bin /目录中有cscope,请将以下内容添加到.vimrc中并使用g ^]转到调用函数(请参阅:help cscope)。

if has("cscope")
    set csprg=~/bin/cscope
    set csto=0
    set cst
    set nocsverb
    " add any database in current directory
    if filereadable("cscope.out")
        cs add cscope.out
        " else add database pointed to by environment
    elseif $CSCOPE_DB != ""
        cs add $CSCOPE_DB
    endif
endif

几乎忘了......就像ctags一样 - 你必须生成(并定期更新)数据库。 我使用以下脚本

select_files > cscope.files
ctags -L cscope.files
ctags -e -L cscope.files
cscope -ub -i cscope.files

其中'select_files'是另一个从Makefile中提取C和头文件列表的脚本。 这样我只索引项目实际使用的文件。

链接地址: http://www.djcxy.com/p/8689.html

上一篇: Vim and Ctags tips and tricks

下一篇: How can I disable the UITableView selection highlighting?