如何在 tex 文件上重新运行 vim 自动缩进?

如何在 tex 文件上重新运行 vim 自动缩进?

我有一个 LaTeX 源文件,其缩进混乱。我正在寻找一种方法来强制 vim (可能通过一个vim-latex-suite命令)重新运行再次对整个文件执行自动缩进命令。

我可以通过使用简单的正则表达式消除每行开头的所有空格,轻松摆脱混乱的缩进:%s/^\s\+//。我的问题是如何对整个文件重新运行自动缩进命令。

(我基本上是在寻找类似于smart indentMATLAB 编辑器或其他文本编辑器的东西,它可以重新缩进已经存在的文本)。

答案1

方法一:vim

我相信您可以使用以下键盘命令执行您想要的操作vim,如下所示。

笔记: =,缩进命令可以采取行动。

所以:

  • 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>

答案2

在 vim 中,该=键可用于自动修复缩进。gg=G将修复整个文件的缩进。

相关内容