web-dev-qa-db-ja.com

texファイルでvimの自動インデントを再実行するにはどうすればよいですか?

インデントがめちゃくちゃになっているLaTeXソースファイルがあります。私はvimを強制的に(vim-latex-suiteコマンドの1つを介して)再実行ファイル全体の自動インデントコマンドをもう一度実行する方法を探しています。

単純な正規表現:%s/^\s\+//を使用して、各行の先頭にあるすべての空白を使い果たすことで、混乱したインデントを簡単に取り除くことができます。私の問題は、ファイル全体に対して自動インデントコマンドを再実行する方法です。

(私は基本的に、MATLABEditorまたは他のテキストエディターでsmart indentのようなものを探しています。これは、既存のテキストを再インデントできます)。

6
Bichoy

方法#1:vim

次のように、vimの次のキーボードコマンドを使用して、やりたいことができると思います。

注:=、インデントコマンドは動きをとることができます。

そう:

  • ggファイルの先頭を取得します
  • =インデントする
  • Gからファイルの終わりまで

すべてをまとめる:gg=G

方法2:vimなし

これはvimソリューションではありませんが、LaTeXTidy.plというタイトルのこのPerlスクリプトに出くわしました。これは、これを行う必要のある複数のファイルがある場合に役立つ可能性があります。

オリジナルのスクリプトとPastebinのコピー:

それを実行するには、ダウンロード後に実行可能にし、ラテックスファイルの名前を渡して実行する必要があります。

ダウンロード

$ curl -o latextidy.pl http://bfc.sfsu.edu/LaTeXTidy-0.31.pl
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4755  100  4755    0     0   1201      0  0:00:03  0:00:03 --:--:--  1334

許可と実行

$ chmod +x latextidy.pl
$ ./latextidy.pl <some_latex_file.tex>
8
slm

Vimでは=キーを使用して、インデントを自動的に修正できます。 gg=Gファイル全体のインデントを修正します。

4
David Baggerman