我应该知道这一点,但我现在的想法是空白的......很长一晚......
如何定义仅在某个文件类型处于活动状态时才有效的映射(例如,markdown,我希望定义插入括号的映射/缩写)[因为我的语言布局中我的键盘上没有它们)?
答案 0 :(得分:5)
定义仅在具有特定filetype
的缓冲区中有效的映射
值,可以使用文件类型自动命令(请参阅:help
autocmd
,:help FileType
)和本地映射(请参阅:help map-local
)的组合。
:autocmd FileType markdown inoremap <buffer> (( [
:autocmd FileType markdown inoremap <buffer> )) ]
答案 1 :(得分:2)
第一个强制性步骤确实是用:h :map-<buffer>
来定义缓冲区本地映射,正如ib所说。
然后你可以选择。你可以:
第一种方法很好,我们只使用vim来处理几种语言/文件类型,当我们只有很少的映射/命令/缩写/ ...在Vim的前几年就没问题了。经过一定数量的特定于ft的设置,第二个解决方案是首选的解决方案。
(顺便说一句,这个主题是重复的,但我现在懒得搜索其他帖子)
答案 2 :(得分:0)
在适当的地方添加(例如~/.vimrc
):
au FileType markdown inoremap <C-b> [