【发布时间】:2013-10-19 20:33:24
【问题描述】:
在尝试让vim 正确缩进.html 文件时,我遵循了here 中列出的示例。
给定以下文件index.html:
<html>
<body>
<p>
text
</p>
</body>
</html>
我尝试打开它like so(忽略我的.vimrc 以确保它不会产生负面影响)
vim -u NONE index.html
然后我设置the options 启用自动缩进:
:filetype plugin indent on
:set filetype=html # abbrev - :set ft=html
:set smartindent # abbrev - :set si
然后我用gg=G缩进整个文件,结果如下:
<html>
<body>
<p>
text
</p>
</body>
</html>
我检查以确保 html.vim 文件存在,并且肯定存在
$ head -2 ~/.vim/after/ftplugin/html.vim
" Vim syntax file
" Language: HTML
$ head -2 ~/.vim/ftplugin/html.vim
" Vim syntax file
" Language: HTML
我的vim版本是7.4:
$ vim --version | head -1
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Sep 23 2013 16:12:20)
它包括智能缩进:
$ vim --version | grep smartindent
-ebcdic +mouse +smartindent +xim
我不知道为什么缩进不起作用!有什么线索或想法可以进一步研究这个问题吗?
FWIW,我正在运行 Ubuntu 13.04。
【问题讨论】:
-
我在 Mac OS X 上遇到了同样的问题,暂时恢复到 7.3。不过,我确信在运行时文件中可以找到一些东西。
-
在 vim_use 或 vim_dev 邮件列表中询问。这是潜在错误的正确渠道。
-
@glts 我现在实际上在使用 IRC,我们已将其范围缩小到 7.3 和 7.4 之间的运行时变化。
-
@romainl 真的要感谢你带领我朝那个方向发展。我要弄清楚是什么特定的更改破坏了它,看看我是否不能将其作为更改提交。
-
'smartindent' 如果使用“filetype plugin indent on”启用特定于文件类型的缩进,实际上对 HTML 的影响为零。如果你最终遇到了一个将应用 smartindent 的文件,我想你会失望的。 “智能”缩进……嗯……不是