2014-06-16 45 views
2

我使用VIM 7.0 RHEL 5.4版,并下载cscope的插件来使用cscope多击键:http://cscope.sourceforge.net/cscope_maps.vim无法通过从vim编辑器

,并在复制到路径(一个实例时间):~/.vim/plugin/cscope_maps.vim & /usr/share/vim/vim70/autoload

和产生cscope -qbR从源文件的根目录,&开口从同一目录*.C文件。

根据this(point 5) & cscope_maps.vim,我应该能够通过多个按键做关键词搜索:CTRL-\ <option>[email protected] <option>通过将光标放到关键字下,我们的CTAGS做。但是我只能通过vim的命令行参数(即,:cs f d:cs f c)访问cscope关键字搜索,而不能使用多键击快捷键。

我也试过粘贴cscope_maps.vim的所有内容~/.vimrc,但它并没有帮助

有什么我做错了/任何其他方法,使工作?

+0

正如你可以在'cscope_maps.vim'看它没有提到'VIM7',所以请在'VIM7'中检查该脚本的语法。像这里:http://vimdoc.sourceforge.net/htmldoc/usr_41.html – Mortezaipo

+0

Vim 7.0是从2006年和_very_过时。应该可以安装最新的7.4版本;如果你的发行版找不到合适的软件包,在Linux上[编译](http://www.vim.org/download.php)(例如从Mercurial源代码)也不是很难。 –

+0

@MortezaIpo没有提到有关'VIM7',但我假设所有'VIM6 +''cscope_maps。vim'文件放在VIM的插件文件夹中? – DragonX

回答

0

也许,你缺少的CSCOPE_DB环境变量 - 也就是说,它应指向有效cscope.out文件

要进行检查,一旦你在vim,运行:echo $CSCOPE_DB,矿山表明: /home/me/views/myrepo/cscope.out

+0

我检查过,没有设置'env'。所以我将'CSCOPE_DB'自己导出到特定的'〜/ src/cscope.out'文件,即使它不工作 – DragonX

1

由于该插件的文档中描述,该插件复制到

~/.vim/plugin/cscope_maps.vim 

autoload直销您选择的tory是错误的,这是针对插件的按需功能。

此外,/usr/share/vim/vim70/拥有默认的Vim软件包,不要碰到任何东西(一般情况下),否则在重新安装/升级软件包时会遇到问题!如果您确实需要系统级插件,请检查:help runtimepath,并在系统上找到/添加您的自己的适当位置。

+0

'〜/ .vim/plugin'路径不存在,所以我创建了一个并粘贴了'cscope_maps .vim'文件,并从'autoload'路径中删除,但仍然没有运气 – DragonX

+1

它出现在':scriptnames'中吗? ':echo有(“cscope”)'yield'1'吗?映射出现在':nmap '中吗? –

+1

是的,当我做':scriptnames'&也做':echo has(“cscope”)'yield'1'时,它确实显示为'7:/ root/.vim/plugin/cscope_maps.vim'。而对于':nmap '我在VIM的cmd提示符下找到了'没有找到映射' – DragonX

0

我与cscope和Vim 7.4有同样的问题。我可以解决它拱取消注释在cscope_maps.vim波纹线:

set timeoutlen=4000 
set ttimeout 

BTW我跟着这个教程拱安装cscope的VIM插件: https://wiki.archlinux.org/index.php/vim#cscope