我输入我的.html.erb文件,我意识到
vim缩进的这种奇怪的行为.
<p> <strong>Expires On:</strong> <%= @item.expires_on %> </p>
在< / p>之后按Enter键怎么样?有时候是这样的?
<p> <strong>Expires On:</strong> <%= @item.expires_on %> </p> _ <= new cursor space
请注意,我确实有文件类型缩进.
解决方法
Vim的默认html缩进不会缩进< p>标签.这意味着,不仅在< / p>之后不会删除缩进级别,而且在打开< p>之后它也可能不会自动添加缩进级别.如果是这种情况,您可以通过设置变量g:html_indent_tags来更改此行为.它应包含与标记名称匹配的正则表达式.例如:
let g:html_indent_tags = 'p\|li\|nav'
这将为p,li和nav标签添加一定级别的缩进.如果你想要< p>仅标记,只需将其设置为“p”:
let g:html_indent_tags = 'p'
如果vim确实缩进了初始的< p>,那么你的indentkeys选项可能不包含“>”字符.您可以通过执行set indentkeys来检查其内容.如果它不包含<>>,您可以将其添加到.vim / ftplugin / html.vim中:
setlocal indentkeys+=<<>
编辑:
不幸的是,vim似乎取消了那个变量……这对我来说根本没有意义,但你可以做的一件事就是将变量赋值添加到.vim / after / ftplugin / html.vim中.这应该可以解决问题.就个人而言,我做了不同的事情 – 我已将默认文件复制到.vim / indent / html.vim并注释掉删除变量的行.尽管如此,使用after目录可能是一个更好的主意.
编辑:
html5插件似乎没有受到这个问题的困扰.改为安装它可能是一个好主意.否则,g:html_indent_tags变量仍然是可以去的地方,但最好的位置可能是〜/ .vim / after / indent / html.vim:
let g:html_indent_tags .= '\|p\|nav\|othertags'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。