使用vim的`gqap'有时会异常缩进

时间:2009-11-15 06:18:20

标签: vim latex

对于我的生活,我无法找出原因:在LaTeX文档中写作时,我喜欢将线宽保持在最多80个字符。因此,我将执行vim命令gqap,vim将自动重新打开我正在编写的段落。

例如,它会导致较长的一行成为许多较短的行:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque pharetra nunc eget arcu dapibus pretium. Nulla vel risus quam, ut sollicitudin sem. Vivamus vitae diam in risus pharetra gravida. Donec rutrum mattis nulla, in consectetur lorem luctus varius. Donec augue purus, iaculis eget fringilla nec, vehicula ut sapien. Quisque sit amet dolor mauris. Sed ac est eu ligula aliquam tincidunt. Proin condimentum rutrum lacinia.

变为:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque pharetra
nunc eget arcu dapibus pretium. Nulla vel risus quam, ut sollicitudin sem.
Vivamus vitae diam in risus pharetra gravida. Donec rutrum mattis nulla, in
consectetur lorem luctus varius. Donec augue purus, iaculis eget fringilla nec,
vehicula ut sapien. Quisque sit amet dolor mauris. Sed ac est eu ligula aliquam
tincidunt. Proin condimentum rutrum lacini

但是,对于某些段落,它将开始在段落的末尾添加不寻常的缩进:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque pharetra
nunc eget arcu dapibus pretium. Nulla vel risus quam, ut sollicitudin sem.
Vivamus vitae diam in risus pharetra gravida. Donec rutrum mattis nulla, in
     consectetur lorem luctus varius. Donec augue purus, iaculis eget fringilla,
     vehicula ut sapien. Quisque sit amet dolor mauris. Sed ac est eu ligula
     tincidunt. Proin condimentum rutrum lacini

为什么vim这样做?我还没弄清楚这种模式。如何使其格式化“正确的方式”?

2 个答案:

答案 0 :(得分:8)

是的,vim的'smartindent'名字并不好。在我弄清楚出了什么问题之前,我有一段时间遇到了麻烦。对于其他人,如果您在以“if”或“for”开头的行后发现奇怪的缩进行为,请取消设置smartindent。如果你开始使用vim作为文字处理器,你会遇到这个 lot

从vim帮助文件中,'smartindent'将在以'cinwords'开头的行开头后缩进,默认为“if,else,while,do,for,switch”。

答案 1 :(得分:3)

问题是我启用了“smartindent”。为LaTeX文档禁用它解决了它:

au BufEnter *.tex set nosmartindent