VIM HTML自动缩进无法工作

9
我尝试使用VIM自动缩进HTML文件,但不幸的是它无法正常工作。虽然自动缩进在其他语言中表现得非常好,但在HTML中它就是无法正常工作。我已经尝试将filetype设置为html,并按照此问题中建议的操作进行,但令人遗憾的是,它也无法正常工作。此外,当我选择所有内容并按下=键时,即使vim报告XX行缩进,它也不会缩进。

我的.vimrc文件如下:

set autoindent 
set cindent 
set tabstop=4 
set shiftwidth=2 
set expandtab

有什么建议吗?

我尝试过这个,但是使用已经格式良好的HTML文件。选择所有内容并按=键实际上会导致所有内容向左移动到最左边的列(就像删除了所有缩进)。看起来它产生了相反的缩进效果。 - Jason Down
这也是我在格式化的HTML文件上遇到的问题。然而,我链接的SO问题建议了这个解决方法。 - Tiddo
1个回答

20

为确保Vim使用特定于文件的缩进,您需要将以下行添加到.vimrc中:

filetype on
filetype plugin on
filetype indent on

当文件类型设置为html时,这种方法会将HTML作为HTML进行缩进。


13
实际上,您可以将其写成“filetype plugin indent on”,一行即可 :) - Rook
1
好知道 - 可能会人为地缩短我的.vimrc :) - BergmannF
3
如果以上方法无法生效,您可能需要检查缩进指令是否已加载。在vi的正常模式中输入:scriptnames以查看已加载的脚本。您应该会找到一个名为indent.vim的脚本,其中包含有关如何根据要加载到缓冲区的文件的名称和文件类型加载更多缩进指令的说明。 - valid
不错!我尝试了其他的答案,但这才是我需要的。 - Jimmy Long

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接