Vim 如何仅在文件类型的缓冲区中取消映射密钥绑定?
我有一个映射Vim 如何仅在文件类型的缓冲区中取消映射密钥绑定?,vim,Vim,我有一个映射移动到行尾并插入冒号(在类c语言中很有用)。在我的scheme.vim文件中,我有: iunmap ;; 这方面的问题是: 每次我打开一个方案文件时,它都会尝试运行这个命令,此时它已经没有映射,所以我会得到一个警告 它将全局取消映射此密钥,因此如果我在同一会话中打开非scheme文件,它将不会记住此绑定 至少我想解决#1,只有在绑定处于活动状态时才尝试取消映射,这样我才不会出错。最好让您的映射基于'filetype'的缓冲区本地映射 autocmd FileType c,javas
移动到行尾并插入冒号(在类c语言中很有用)。在我的scheme.vim
文件中,我有:
iunmap ;;
这方面的问题是:
至少我想解决#1,只有在绑定处于活动状态时才尝试取消映射,这样我才不会出错。最好让您的
代码>映射基于'filetype'
的缓冲区本地映射
autocmd FileType c,javascript inoremap <buffer> ;; <esc>m'A;<esc>``a
您是否尝试过iunmap代码>?你是什么意思?这将引发一个错误,因为我没有将任何内容映射到
键。
不是键,它是:map
命令系列的一个参数,用于限制映射到当前缓冲区。该参数在ftplugins中用于防止自定义特定于文件类型的映射泄漏到其他文件类型。如果要禁用由ftplugin创建的映射,并且该ftplugin已完全编写,则可以使用该命令。该命令取消映射缓冲区本地映射代码>。
:h :au
:h :map-local
:h 'filetype'
:h FileType