DelimitMate与vim-closetag冲突生成额外>,.ejs文件修复无效求助
解决DelimitMate与vim-closetag在EJS文件中的冲突问题
先确认EJS文件对应的Vim文件类型:
打开任意.ejs文件,在Vim命令行输入:set filetype?,查看输出的文件类型(通常是ejs或html.ejs)。根据文件类型调整自动命令:
如果输出是ejs,添加以下配置到你的vimrc或.vimrc文件:au FileType ejs let b:delimitMate_matchpairs = "(:),[:],{:}"如果输出是
html.ejs,则使用:au FileType html.ejs let b:delimitMate_matchpairs = "(:),[:],{:}"也可以同时兼容HTML和EJS文件:
au FileType html,ejs let b:delimitMate_matchpairs = "(:),[:],{:}"备选方案(基于文件扩展名匹配):
如果不确定文件类型,直接针对.ejs扩展名设置:au BufRead,BufNewFile *.ejs let b:delimitMate_matchpairs = "(:),[:],{:}"
原因说明
你之前的配置仅针对html文件类型生效,但EJS文件的Vim文件类型可能并非html,导致自动命令未触发。通过针对EJS对应的文件类型或扩展名设置局部变量b:delimitMate_matchpairs,可以覆盖全局的括号匹配规则,避免DelimitMate与vim-closetag在标签闭合时的冲突。
内容的提问来源于stack exchange,提问作者Narayana
相关产品推荐
相关产品推荐

