首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么仅在第二次打开vim之后才启用autoload cscope.out?

为什么仅在第二次打开vim之后才启用autoload cscope.out?
EN

Stack Overflow用户
提问于 2022-05-10 15:07:47
回答 1查看 56关注 0票数 -1

我想做的是每次打开vim时根据不同的文件类型创建一个新的cscope数据库,然后自动加载cscope.out

我编辑我的.vimrc,基于本文:how to auto load cscope.out in vim

但它只在第二次打开vim时自动显示cscope.out,第一次打开vim时总是显示no cscope connection

我该换什么?

这是我的设置:

代码语言:javascript
复制
if !filereadable("cscope.out")
    autocmd BufRead,BufNewFile *.py !find / -name "*.py" > ~/cscope.files; cscope -Rbq -i ~/cscope.files
    autocmd BufRead,BufNewFile *.java !find / -name "*.java" > ~/cscope.files; cscope -Rbq -i ~/cscope.files
    autocmd BufRead,BufNewFile *.c !find / -name "*.c" -o -name "*.h" > ~/cscope.files; cscope -Rbq -i ~/cscope.files
    autocmd BufRead,BufNewFile *.cpp !find / -name "*.cpp" -o -name "*.hpp" -o -name "*.h" > ~/cscope.files; cscope -Rbq -i ~/cscope.files
    autocmd BufRead,BufNewFile *.hpp !find / -name "*.cpp" -o -name "*.hpp" -o -name "*.h" > ~/cscope.files; cscope -Rbq -i ~/cscope.files
endif

" setting location of cscope db & cscopetag
let CSCOPE_DB="~/cscope.out"                
                                                                              
if has("cscope")
"   set csprg=/usr/local/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
    set csverb
endif
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-10 19:12:54

在“自动命令”块中,将自动命令添加到默认的自动命令组中。稍后,当您编辑*.py文件或其他文件时,它们将被执行。此时,没有创建任何数据库。

在"cscope“块中,您将cscope指向一个数据库,但没有创建任何数据库。

在您的vimrc来源之后,*.py文件将被加载并创建数据库,但是负责cscope设置的代码已经运行,因此cscope不知道您的数据库。

下次运行Vim时,数据库已经在那里了,因为它是在上一次运行期间创建的,所以设置cscope的代码按预期的方式工作,cscope得到一个正确的数据库。

您应该能够通过将cscope步骤推迟到数据库创建之后才能解决问题,这听起来是:help job_start()的完美用例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72188807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档