首页 > 编程知识 正文

neovim和vim区别(vim中文官网)

时间:2023-05-04 05:27:33 阅读:65514 作者:3541

版权声明:转载时,请以超链接形式注明文章的原始来源和作者信息及本声明

3358 big white.blogbus.com/logs/35619026.html

虽说有某种工具,但往往也不能很好地使用那个工具。 拿工具很容易,但使用好的工具,很难发挥最大的作用。 CSCOPE给了虚拟机用户一个与SourceInsight '平等坐下的机会,能否发挥CSCOPE的功能取决于如何使用它。

自从VIM“重新安装”以来,我一直在使用CSCOPE。 在使用中发现了“违和感”。 我通常在大型项目源代码的顶层目录中使用CSCOPE -Rbq生成cscope.out文件。 如果您在cscope.out所在的目录中运行VIM,VIM将优先使用cscope.out作为符号交叉索引库,但如果您在某个子目录中,则根据需要在命令行3330中执行

此外,如果有两个基本相同的代码库,其中一个a创建cscope.out文件,另一个b未创建,请手动将a库中的cscope.out文件添加到add A库中的cscope.out文件中在模糊中心中选择一个时,VIM会提示“e 4293360 filexx/YY.hdoesnotexist”。 原因很简单,因为Cscope以相对路径存储符号位置。 b当然不能从库的工作目录跳转。

要解决这两个问题,必须:

1 )无论在哪个目录中运行VIM,VIM都会自动加载现阶段常用的cscope.out,无需手动加载;

2 )将cscope.out中的符号保存为绝对路径。 这样,无论在哪里访问VIM,都可以跳转到对应符号定义的文件。

其实,解决上述两个问题的方法有很多种。 在这里,我只是先说一下我的一个方法,推测还不是最合适的。 cscope官方有“Using Cscope on large projects”一文,关于如何生成cscope.out,可以解决使用cscope.files生成cscope.out的第二个问题。 cscope.files的内容很简单,是文件列表,将要扫描的所有文件的路径放在cscope.files中,然后运行cscope -bqk即可获得cscope.out。 要解决问题2,请将要扫描的文件的绝对路径名添加到csccope.files中。 可以通过find命令轻松实现这一点。 现在我把这个工作放在shell脚本里完成了。 脚本具有一定程度的通用性。 (我的脚本级别:私人级别^_^ ) :

/* gen_cscope_files.sh */

#! /hpdyx/bash

target='/export/home1/username/cscope _ db/cscope.files '

gen_cscope_files_usage (

echo 'gen_cscope_files.sh源代码的顶层目录(绝对路径)扫描子目录1 (扫描子目录2 . )扫描子目录n )。

}

if [ -z ${1} ]; 陈真

请输入echo '主目录!'

gen_cscope_files_usage

exit 1

fi

if [ ${1:0:1}!='/'; 陈真

echo '请输入主目录的绝对路径格式!'

gen_cscope_files_usage

exit 1

fi

if [ ${#} -lt 2 ]; 陈真

echo '请输入要扫描的子目录列表!'

gen_cscope_files_usage

exit 1

fi

if [ -s ${TARGET} ]; 陈真

cat /dev/null ${TARGET}

fi

for dir in $@

德奥

if [ ${dir}!=${1} ]; 陈真

find ${1}/${dir} /

-name '*.[hc]' /

-print ${TARGET}

fi

道恩

现在,您可以选择cscope.files的存储位置,修改脚本以将源代码的顶层目录(绝对路径)传递给gen_cscope_files.sh,并提供要扫描的子目录

以上问题2已经解决了,问题1呢? 我们用. vimrc做文章。 以下代码确保每次运行vim时都会加载上面生成的cscope.out。

ifHas(CsCope ) ) )。

iffilereadable (/export/home1/username/cscope _ db/cscope.out ) )。

cscope add/export/home1/username/cscope _ db/cscope.out

最终幻想

最终幻想

到目前为止,在Web库中的任何目录中打开的文件都找到了适当的符号位置。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。