bab*_*bab 3 vim command file-type
我正在尝试接受命令
let b:match_words='<:>,<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
Run Code Online (Sandbox Code Playgroud)
每次打开html文件时都会运行.我试过放线
autocmd FileType html let b:match_words='<:>,<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
Run Code Online (Sandbox Code Playgroud)
在我的ftdetect和ftplugin文件夹中名为html.vim的文件中,没有任何反应.如何在html文件中每次运行命令?
该命令用于更改matchit btw的匹配行为.
一般来说,你的autocmd没问题; 问题是你正在尝试重新b:match_words定义完成的定义$VIMRUNTIME/ftplugin/html.vim,因此执行顺序变得很重要.
这些自定义的位置在after目录中,即~/.vim/after/ftplugin/html.vim; 只需创建一个新文件并将:let命令放在那里.
您可以通过观察源脚本的顺序:scriptnames.在其他情况下,当你没有覆盖默认行为时,:autocmd FileType没关系,但我更喜欢将这些(例如自定义映射)放入其中~/.vim/ftplugin/html_mymappings.vim,因为它提供了更好的分离并有助于保持.vimrc简短和易懂.
该ftdetect子目录是文件类型检测,即检测文件的路径/名/内容来确定正确的文件类型.这里不适用,因为文件类型是html.