如何仅在Vim中存在映射时取消映射

Pau*_*rey 24 vim

作为如何使用vim-rails覆盖gf的已接受答案的后续内容,多次编辑同一文件会导致以下错误:

Error detected while processing User Auto commands for "Rails.javascript.coffee*":
E31 : No such mapping
Run Code Online (Sandbox Code Playgroud)

我的违规行vimrc

:autocmd User Rails.javascript.coffee* nunmap <buffer> gf
Run Code Online (Sandbox Code Playgroud)

如果映射已存在,如何通过取消映射来避免此错误?

(注意:多次编辑同一个文件可能看起来很奇怪,但我认为这是用ack.vim或ag.vim搜索的副作用)

Ing*_*kat 34

您可以检查映射if ! empty(maparg('gf', 'n')) ...,但通常的解决方案是通过silent!nunmap <buffer> gf命令之前预先设置来抑制错误.