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

标签 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 搜索的副作用)

最佳答案

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

关于vim - 仅当 Vim 中存在映射时如何取消映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16218151/

相关文章:

vim - 导航项目的传统方式是什么

vim - 如何在 vimdiff 中切换垂直和水平分割?

vim - 命令的第一个字符在 vim 中不显示

scala - 让 `f =` 移动到 => 或 ⇒

linux - 在 Linux 桌面上编程​​的最佳字体是什么?

vim - 重新映射标签弹出键

windows - 在 ms-windows 上的 vim 中编辑时使用 firefox 预览 RestructuredText

vim - Vim-如何使用<C-L>这样的键映射命令?

vim - 像逐行输入解释器一样运行 J 脚本

python - 在 Vim 中使用 pythoncomplete 时防止拆分窗口