代码如图
imap的内容没有问题,后面的imap都能用,if里面的imap我之前试过也没有问题。
&filetype 我也使用echo看过没有错误,但无论在.c还是.py文件中,{}都无法映射(插入模式下输入完全是普通的输入)
###可以添加这两行到的_vimrc
或者.vimrc
当中:
autocmd FileType c inoremap <buffer> {} {}<left><cr><esc>kA<cr>
autocmd FileType python inoremap <buffer> {} {}<left>
不过当要执行的Ex命令比较多的时候,在保证filetype plugin on
的前提下,可以考虑加到after/ftplugin/xxx.vim
当中,xxx
代表各种语言名称,after
文件夹一般放在设置runtimepath
包含的任一路径内。
比如每一次打开C语言的文件都会把after/ftplugin/c.vim
里面所有的Ex命令以overrule的方式运行一次。不过我刚刚在vim测试貌似行不通,好久没有鼓捣vim了,现在用的是neovim,然后因为init.vim
所在的路径是包含在设置runtimepath
里面的,所以可以把after
文件夹会跟init.vim
放同一路径下
相关信息:h :map-<buffer>
:h 'runtimepath'
:h ftplugin
:h ftplugin-overrule