Vim

如何在 tex 文件上重新執行 vim 自動縮進?

  • August 13, 2013

我有一個縮進搞砸的 LaTeX 源文件。我正在尋找一種方法來強制 vim(可能是通過一個vim-latex-suite命令)再次在整個文件上重新執行自動縮進命令。

通過使用簡單的 regex 吃掉每行開頭的所有空格,我可以輕鬆擺脫混亂的縮進:%s/^\s\+//。我的問題是如何在整個文件上重新執行自動縮進命令。

(我基本上是在尋找類似smart indentMATLAB 編輯器或其他文本編輯器的東西,它們可以重新縮進已經存在的文本)。

方法#1:vim

我相信你可以用下面的鍵盤命令來做你想做的事vim,如下。

注意: =, indent 命令可以進行動作。

所以:

  • gg獲取文件的開頭
  • =縮進
  • G到文件末尾

把它們放在一起:gg=G

方法#2:沒有vim

這不是一個vim解決方案,但我遇到了這個名為的 Perl 腳本LaTeXTidy.pl,如果你有多個文件必須這樣做,它可能會更有用。

原始腳本和 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>

引用自:https://unix.stackexchange.com/questions/86625