2011-01-05 14 views

答えて

9

一般に、=操作を使用してインデントすることができます。

は、ファイル全体を字下げします

gg=G(また、あなたは編集しますファイルの種類ごとに異なるインデントルールを有効にするために、あなたのvimrcでfiletype indent onを持っている必要があります)

:help =を参照してください。 (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ファイルで試してみました。うまくいきます。しかし、もしファイルが、私が今インデント表現理論に深く掘り下げる必要があるように見えるように見えるスマートなビューファイルのような混乱であれば) – lyuba

1

私は通常、ggVG=でこれを行います。 gg =ファイルの先頭に移動、V =行をマーク、G =ファイルの最後に移動、= =インデント。

これを行うにはキーストロークが少なすぎるかもしれませんが、覚えやすいと思います。

+0

をそして=は正確に何をするのでしょうか?結果は、私が期待したものとは完全には一致しません。私は、ビューファイルをインデントしようとしています、そして、その中のすべてのhtmlは今、左にクリップされますが、インデントされません。これはちょっと助けることができますが、それでも手作業でインデントを必要とします。 – lyuba

+1

htmlを再フォーマットする場合は、その質問に対する答えをご覧ください:http://stackoverflow.com/questions/815548/how-do-i-tidy-up-an-html-files-indentation-in-vi/815560 #815560 –

関連する問題