如何取消映射&#39; nmap <silent> <buffer>&#39;制图

时间:2018-06-18 16:27:41

标签: vim

这是关于如何取消映射键绑定的问题。一般来说,取消映射键绑定并不难,但在这种情况下我遇到了困难。我试图在.HORIZONTAL_SCROLL_NAV::-webkit-scrollbar { height: 10px; } .HORIZONTAL_SCROLL_NAV::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0); box-shadow: inset 0 0 6px rgba(0, 0, 0, 0); -webkit-border-radius: 10px; border-radius: 10px; } .HORIZONTAL_SCROLL_NAV::-webkit-scrollbar-thumb { -webkit-border-radius: 10px; border-radius: 10px; background: rgba(255, 0, 0, 0.8); -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5); box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5); } 中找到相关信息,但是键绑定有点复杂 - 我仍然不了解它 - 我无法从配置文件中取消映射,例如.vimrc 。

`merlin&#39;用于编辑的包OCaml源代码为vim提供了一组配置文件。有一个我不想要的定义:

:help

我宁愿不在自动加载的nmap <silent><buffer> gd :MerlinLocate<return> 文件中对其进行评论,因为在设置新的OCaml配置时会自动生成此文件。相反,我只想通过在我自己的配置文件中取消映射merlin.vim来覆盖此定义。

如果我执行

gd
编辑OCaml文件时,在nunmap <silent><buffer> gd 提示符下手动

:取消映射,如我所愿。 (我不了解gd的意思,但似乎有必要取消映射键绑定。)

但是,如果我在.vimrc中放置相同的行(或在我使用<silent><buffer>运行的文件中),则-u不会被取消映射。 (将gd更改为nunmap执行相同的操作 - 在unmap提示符下工作,而不是在启动文件中。)

如何取消映射:

(执行gd命令时是否存在这些键未映射的问题,因为此时当前缓冲区中没有OCaml源文件?有一些解决方法可以解决但是,我确定。)

1 个答案:

答案 0 :(得分:3)

<buffer>中的nmap <silent><buffer> gd :MerlinLocate<return>表示此映射是缓冲区本地的。

由于每次ocaml事件都是使用值FileType触发时为每个ocaml缓冲区定义的,因此您将难以全局覆盖它。

但是,应该在您自己的ocaml ftplugin中覆盖该映射:

" in after/ftplugin/ocaml.vim
nunmap <buffer> gd

但这完全没有实际意义,因为可以禁用该映射via a simple global variable