如何仅在文件类型的缓冲区中取消映射键绑定?

时间:2016-05-25 21:39:43

标签: vim

我有一个映射;;移动到行尾并插入冒号(在类c语言中很有用)。在我的scheme.vim文件中,我有:

iunmap ;;

问题是:

  1. 每次打开方案文件时都会尝试运行此命令,此时它已经取消映射,所以我会收到警告。

  2. 它将全局取消映射此键,因此如果我在同一会话中打开非方案文件,它将不记得此绑定。

  3. 至少我想解决#1,如果绑定处于活动状态,它只会尝试取消映射,这样我就不会收到错误。

1 个答案:

答案 0 :(得分:5)

最好根据;;使'filetype'映射成为缓冲区本地映射。

autocmd FileType c,javascript inoremap <buffer> ;; <esc>m'A;<esc>``a

您可以根据需要为此映射添加任意数量的文件类型。只需用逗号分隔文件类型。

如需更多帮助,请参阅:

:h :au
:h :map-local
:h 'filetype'
:h FileType