我不确定是否已经问过这个问题,但是我尽力寻找解决方案。
这是我面临的问题:
我同时使用ctags和cscope来浏览c ++代码。我想在vim内使用ctags列出的标签,在vim之外使用cscope(搜索符号和文本)。如果我在cscope中搜索符号并打开文件(在vim中),则其他vim会话将开始使用cscope连接中的标签(而不是ctags列表中的标签)。我不喜欢cscope列出的标签,因为它们比ctags列出的更多。此外,我觉得哪些ctags列表与我更相关。目前,我终止了cscope连接,并且可以正常工作。但是,每次打开新的vim会话时,我都必须这样做。
如何避免使用cscope连接在现有vim会话中列出标签?
答案 0 :(得分:0)
vim根据vimrc(对于gVim为_vimrc)配置文件中的以下设置添加了Cscope连接
cs添加cscope.out
取消此设置将阻止在打开vim会话时添加cscope连接,这应该可以解决您的问题。
例如,我的vimrc文件具有以下块(从Ref [2]中的cscope.vim复制)
if has("cscope")
""""""""""""" Standard cscope/vim boilerplate
" use both cscope and ctag for 'ctrl-]', ':ta', and 'vim -t'
set cscopetag
" check cscope for definition of a symbol before checking ctags: set to 1
" if you want the reverse search order.
set csto=0
" add any cscope database in current directory
if filereadable("cscope.out")
cs add cscope.out
" else add the database pointed to by environment variable
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
" show msg when any other cscope db added
set cscopeverbose
endif
注意:如果您仍要保留cscope搜索,但要优先考虑搜索中的ctag,则可以在vimrc中使用此设置。
设置csto = 1
参考文献: