【问题标题】:nmap key maps not working with Vim/Cscopenmap 键映射不适用于 Vim/Cscope
【发布时间】:2013-12-29 06:09:39
【问题描述】:

我在 ubuntu 中使用 vim(7.3) 和 cscope。 :cs find 命令可以正常工作,但是我想使用一些键绑定,所以我下载了cscope_maps.vim 并根据教程here 安装它。但是,无论我将 vim 文件放在哪个位置,文件中定义的键映射都不起作用!例如,我得到了一个映射:

nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>

当我将光标移到一个 c 符号上并按下 [CTRL]+[\]+s 时,什么也没发生!

有人知道原因和解决方法吗?

谢谢。

【问题讨论】:

  • :h cscope Vim 应该自带这个内置的。
  • 那是ctrl+` then s`。

标签: vim map cscope


【解决方案1】:

尝试隔离问题。首先,在运行 vim 时,尝试类似

:nmap , :echo "hello"<CR>

然后键入 ,。假设可行,请尝试您真正想要的组合键,而不是 ,。 (当您编写 [CTRL]+[\]+s 时,您同时使用了 CTRL 和 \ 键,对吗?)如果 that 有效,然后尝试从教程。

接下来,尝试在您的 vimrc 文件中添加一个简单的 nmap 命令。这行得通吗?

你应该能够加载脚本

:source path/to/cscope_maps.vim

如果可行,但只是将文件放到插件目录中不起作用,请尝试

:set runtimepath?

查看正在搜索插件的目录,然后读取

:help load-plugins

:help startup 下的第 4 步)由于其他原因可能无法加载。

【讨论】:

  • 感谢您的回复。我试过你说的,发现三键映射不起作用。因此,我通过将“”替换为“”(代表键“.”)将映射更改为两个键。现在可以了!
  • 你是不是把“”换成了“”?
【解决方案2】:

我遇到了同样的问题,在 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 中对我不起作用,所以我将 &lt;C-\&gt; 替换为 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("")

【讨论】:

    【解决方案3】:

    Ctrl + s 组合在使用 VNC 查看器的 Mac 上对我不起作用。所以我只是用一些我没有用于其他任何东西的组合替换,比如 f + s 等。

    【讨论】:

      【解决方案4】:

      同样的事情也发生在我身上。我认为 cscope_maps.vim 存在问题,因为我保存了 html 页面而不是复制页面的内容。这导致了几个明显的错误,即使在纠正了这些初始错误之后,它也根据 html 脚本更改了文件中提到的键映射。因此,我建议您尝试从文件中的上述链接复制 cscope_maps.vim 的内容,而不是下载网页。

      【讨论】:

        【解决方案5】:

        默认情况下,Vim 只会为映射中的每次击键等待 1 秒。 这些组合键可能太短了。

        在 vimrc 中添加以下行后,"CTRL + \" 起作用了。

        set timeoutlen=4000 " in milliseconds
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-09-28
          • 1970-01-01
          • 1970-01-01
          • 2011-12-13
          • 1970-01-01
          • 2016-04-21
          • 1970-01-01
          • 2018-10-09
          相关资源
          最近更新 更多