代码如图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
可以添加这两行到的
_vimrc
或者.vimrc
当中:不过当要执行的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