使用Vim重新缩进多个LaTex文件

4
背景:我决定在一个大型 LaTeX 项目中试用包含 latex-suite 的 Vim 编辑器。由于我从不会自动缩进的不同编辑器/IDE 切换到了 Vim(并且我懒得手动缩进),因此 .tex 文件的当前缩进相当不匹配,且不适合我想要的样式(通过在我的 .vimrc 中添加 filetype plugin indent onautomcd Filetype tex setlocal shiftwidth= etc 来设置,这很好用)。
该项目包含多个结构化的 .tex 文件,如下:
main.tex
tex/
   chapter1.tex
   chapter2.tex
   ...
   chapter10.tex

这个 Stack Exchange 页面 告诉我们如何在 Vim 中轻松地使用 = 对单个源文件进行缩进,比如说:

gg=G

这个方法非常完美。现在,问题来了。

是否有一个简洁的Vim(和/或bash/其他,如果Vim无法很好地处理此问题,但最好是Vim)解决方案,使我能够同时为所有的.tex文件执行类似的'reindent'操作(换句话说,不需要为需要修复缩进的每个tex文件分别输入 gg=G ?)

1个回答

5

首先,在Vim中将所有的LaTeX文件作为参数添加(以下示例假设您在文档的根目录中):

:args *.tex **/*.tex

然后,您可以通过:argdo(以及:normal,因为这是正常模式命令)将该命令应用于所有参数;您可能也希望在同一步骤中保留更改:

:argdo execute 'normal gg=G' | update

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接