2009-11-15 63 views
6

对于我而言,我无法弄清楚原因:在LaTeX文档中编写代码时,我喜欢将行宽保持为最多80个字符。因此,我将执行vim命令gqap,vim将自动重新编写我正在编写的段落。使用vim的`gqap'有时会出现异常缩进

例如,它会造成很长的线,成为许多较短的:

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会这样做?我还没有弄清楚这种模式。我怎样才能使段落的格式“正确的方式”?

+1

你能发布一个导致这种情况发生的实际文本的例子吗? – 2009-11-16 10:49:59

回答

8

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

默认情况下,vim帮助文件中的'smartindent'将在从'cinwords'开始的一行关键字之后缩进,即“if,else,while,do,for,switch”。

3

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

au BufEnter *.tex set nosmartindent