我在ubuntu中使用带有cscope的vim(7.3)。 :cs find命令工作正常,但我想使用一些键绑定,所以我下载cscope_maps.vim并根据教程here安装它。但是,无论我把vim文件放在哪个地方,文件中定义的关键映射都不起作用!例如,我得到了一个映射:
nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>
当我将光标移动到c符号并按下[CTRL] + [\] + s时,没有任何反复发生!
有谁知道原因以及如何解决?
感谢。
答案 0 :(得分:6)
尝试隔离问题。首先,在运行vim时,尝试类似
的内容:nmap , :echo "hello"<CR>
然后输入,。假设有效,请尝试实际需要的组合键,而不是,。 (当您编写[CTRL]+[\]+s
时,您同时使用CTRL和 \ 键,对吧?)如果 有效,请尝试实际的cscope命令来自教程。
接下来,尝试在vimrc文件中添加一个简单的nmap
命令。这有用吗?
您应该可以使用
加载脚本:source path/to/cscope_maps.vim
如果可行,但只是删除插件目录中的文件,请尝试
:set runtimepath?
查看正在搜索插件的目录,并阅读
:help load-plugins
(:help startup
下的第4步)因其他原因可能无法加载。
答案 1 :(得分:1)
我遇到了同样的问题,cscope_maps.vim中的修改后帮助我解决了这个问题。
默认情况下,Cscope_maps.vim文件提供以下映射
nmap <C-\>s :cs find s =expand("")
nmap <C-\>g :cs find g =expand("")
nmap <C-\>c :cs find c =expand("")
nmap <C-\>t :cs find t =expand("")
nmap <C-\>e :cs find e =expand("")
nmap <C-\>f :cs find f =expand("")
nmap <C-\>i :cs find i ^=expand("")$
nmap <C-\>d :cs find d =expand("")
因为在ubuntu 14.04中对我不起作用所以我将<C-\>
替换为z
nmap zs :cs find s =expand("")
nmap zg :cs find g =expand("")
nmap zc :cs find c =expand("")
nmap zt :cs find t =expand("")
nmap ze :cs find e =expand("")
nmap zf :cs find f =expand("")
nmap zi :cs find i ^=expand("")$
nmap zd :cs find d =expand("")
答案 2 :(得分:0)
在使用VNC查看器的Mac上, Ctrl + s 组合对我不起作用。所以我只是替换了一些我没有用过其他任何东西的组合,比如 f + s 等。
答案 3 :(得分:0)
同样的事发生在我身上。我认为cscope_maps.vim存在问题,因为我保存了html页面而不是复制页面内容。这导致了几个明显的错误,甚至在纠正了这些初始错误后,它根据html脚本更改了文件中提到的键映射。因此,我建议您尝试从文件中的上述链接复制cscope_maps.vim的内容,而不是下载网页。
答案 4 :(得分:0)
默认情况下,Vim对于映射中的每个按键仅等待1秒。 这些组合键可能太短了。
在vimrc中添加以下行后,“ CTRL + \”起作用。
set timeoutlen=4000 " in milliseconds