2009-11-15 40 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