这是一个关于如何解除键绑定映射的问题。一般来说,取消映射键绑定并不难,但在这种情况下我遇到了困难。我尝试在:help中找到相关信息,但是键绑定有点复杂--我仍然不理解它--而且我无法从.vimrc这样的配置文件中解映射它。
编辑OCaml源代码的“`merlin”包为vim提供了一组配置文件。有一个我不想要的定义:
nmap <silent><buffer> gd :MerlinLocate<return>我不想在自动加载的merlin.vim文件中注释掉它,因为当我设置一个新的OCaml配置时,这个文件将被反复自动生成。相反,我只是想通过在我自己的配置文件中取消映射gd来覆盖这个定义。
如果我执行
nunmap <silent><buffer> gd在编辑一个:文件时,手动在OCaml提示符下操作,就像我想要的那样,取消映射gd。(我不理解<silent><buffer>的意思,但似乎有必要取消键绑定。)
但是,如果我在.vimrc中放置相同的行(或者在我使用-u运行的文件中),gd就不会被取消映射。(将nunmap更改为unmap可以做同样的事情-在:提示符下工作,而不是在启动文件中。)
如何解压gd?
(执行nunmap命令时没有映射这些键是否有问题,因为此时当前缓冲区中没有OCaml源文件?不过,我肯定有办法解决这个问题。)
发布于 2018-06-18 16:46:19
<buffer> in nmap <silent><buffer> gd :MerlinLocate<return>意味着此映射是缓冲区本地的。
因为它是为每个ocaml缓冲区定义的,所以每次用值ocaml触发FileType事件时,您将很难全局覆盖它。
但是,应该使用的是在您自己的ocaml ftplugin中覆盖映射:
" in after/ftplugin/ocaml.vim
nunmap <buffer> gd但是这一切都是没有意义的,因为映射可能会被禁用通过一个简单的全局变量。
https://stackoverflow.com/questions/50913806
复制相似问题