Vim有一个名为Matchit的包,它可以帮助您使用'%‘键从一个标签跳到另一个标签。这在html文件中非常有用,因为您可以从开始跳到结束,也可以从“<”跳到“结束”。标签跳转的工作方式似乎是从一种语言到另一种语言。上述行为在javascript文件中停止,跳转发生在()、{}标记等上。
我有以下问题:
我有一个.tpl文件,它包含html和javascript,但是html元素的%标记跳转不再有效。如何启用混合行为- html样式跳转和js样式跳转?谢谢。
发布于 2018-10-04 08:30:10
%跳转到(),{},[]是基于内置'matchpairs'选项.matchit插件建立在此基础上,并允许更复杂的跳转(如HTML标记)。
由于HTML只是扩展了'matchpairs'选项,所以您可以只使用该文件类型,也可以用于混合模式文件。(无论如何,许多HTML文件都包含JavaScript片段,所以这是一个支持良好的组合。)
对我来说,默认情况下,*.tpl被检测为filetype=smarty。此文件类型(在Vim8.1中)只提供一个语法脚本,但不提供文件类型设置。
可以通过创建~/.vim/ftplugin/smarty.vim继承HTML设置(其中包括matchit定义)
if exists('b:did_ftplugin') | finish | endif
runtime! ftplugin/html.vim
runtime! ftplugin/html_*.vim ftplugin/html/*.vim
let b:did_ftplugin = 1https://stackoverflow.com/questions/52629574
复制相似问题