2011-01-05 137 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