我有一个 LaTeX 源文件,其缩进混乱。我正在寻找一种方法来强制 vim (可能通过一个vim-latex-suite
命令)重新运行再次对整个文件执行自动缩进命令。
我可以通过使用简单的正则表达式消除每行开头的所有空格,轻松摆脱混乱的缩进:%s/^\s\+//
。我的问题是如何对整个文件重新运行自动缩进命令。
(我基本上是在寻找类似于smart indent
MATLAB 编辑器或其他文本编辑器的东西,它可以重新缩进已经存在的文本)。
答案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
将修复整个文件的缩进。