augroup 内的零件无法在 $MYVIMRC 中突出显示

parts inside augroup can't be highlighted in $MYVIMRC

augroup jsgroup
autocmd!
autocmd FileType javascript iabbrev <buffer> iff if ()<left>
problem ---> autocmd FileType javascript iabbrev <buffer> ffn function() {<CR><BS><SPACE><CR>}<ESC>?{<CR>j$a
autocmd FileType javascript iabbrev <buffer> rtn return;<left>
autocmd FileType javascript iabbrev <buffer> log/ console.log()<left>
augroup END

有人能告诉我这个 $MYVIMRC 代码有什么问题吗? 问题是 FileType 和 buffer 在第 4、5 和 6 行没有突出显示。

可能是因为第4行的最后一个大括号'{',在vim的正常模式下是运行。如果这是问题所在,我该如何逃避大括号?

让我们完全回避这个问题。使用 after 目录以使用这些设置。

将以下行放入 ~/.vim/after/ftplugins/javascript.vim:

iabbrev <buffer> iff if ()<left>
iabbrev <buffer> ffn function() {<CR><BS><SPACE><CR>}<ESC>?{<CR>j$a
iabbrev <buffer> rtn return;<left>
iabbrev <buffer> log/ console.log()<left>

这样可以更轻松地维护特定于文件类型的设置。

如需更多帮助,请参阅:

:h after-directory
:h ftplugin