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

时间:2013-04-25 14:56:36

标签: vim

作为How do I override gf with vim-rails中已接受答案的后续内容,多次编辑同一文件会导致以下错误:

Error detected while processing User Auto commands for "Rails.javascript.coffee*":
E31 : No such mapping

vimrc中的违规行是

:autocmd User Rails.javascript.coffee* nunmap <buffer> gf

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

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

1 个答案:

答案 0 :(得分:31)

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