2011-01-05 106 views

回答

9

通常,您可以使用=操作进行缩进。

:help =

(你还需要在你的vimrc filetype indent on,使每个类型的文件不同的缩进规则,你将编辑)

gg=G再次缩进整个文件。 (gg移动到文件的开头,=将重新移动每一行,G移到文件的末尾)

默认情况下,Vim支持良好的C和C语言。有关选项,请参见:help C-indenting。在重新格式化文件之前,您可能需要调整这些选项。如果要使用由cinoptions控制的“智能”缩进,您必须在.vimrc中定义set cindent

请参阅:help indent-expression其他语言。

另外,如果您想使用空格或制表符缩进,则可能需要拨动shiftwidthexpandtabtabstop选项。

例如,如果你用4个空格替换所有的标签,你就必须使用:

set shiftwidth=4    " used by >>, << and tab. 
set tabstop=4    " number of space characters used when displaying TAB 
set expandtab    " replace TAB by spaces 
+0

谢谢!我有这些选项启用,只是简单的HTML文件尝试 - 它工作正常。但是,如果该文件像Smarty视图文件一样混乱,我现在使用它看起来像我需要深入到缩进表达式理论..) – lyuba 2011-01-05 10:21:50

1

我通常用ggVG=来做到这一点。 gg =转到文件开始,V =标记线,G =转到文件结尾,= =缩进。

也许这并不是最少的按键操作,但我认为这很容易记住。

+0

又是什么=究竟怎么办?结果并不完全符合我的预期。我试图缩进视图文件,其中的所有html现在都剪切到左侧,但不缩进。这可能会有所帮助,但仍然需要手动缩进。 – lyuba 2011-01-05 10:02:13

+1

如果您想重新格式化html,请参阅该问题的答案:http://stackoverflow.com/questions/815548/how-do-i-tidy-up-an-html-files-indentation-in-vi/815560 #815560 – 2011-01-05 10:10:18