2010-07-16 42 views
4

我正在使用Vim進行Python開發。有時,在if子句中的表達式之後:(假設|是遊標)。Backspace,如果從光標到行首的字符是製表符/空格,則返回一個縮進級別

if test: 
    pass 
    | 

...我按回車鍵,想要進入if識別等級。

我知道我可以回到命令模式,只需按<,但我想知道它是否可以使用,當Vim知道光標後面的所有字符都是製表符空格時,回退一個縮進級別時退格被按下(或移位值)。

回答

7

設置softtabstop等於shiftwidth,並打開expandtab

:set expandtab shiftwidth=4 softtabstop=4 

現在,當您按下Backspace鍵,Vim會自動刪除空格的適當數量搬回一個縮進級別。

有幾個設置可以控制製表符,空格和縮進的行爲,並且它們可以非顯而易見的方式進行交互。我建議這個Vimcast發作了很清晰的概述:

http://vimcasts.org/episodes/tabs-and-spaces/

+0

+1提真棒vimcasts。 – 2010-07-18 16:09:51

+2

+1,它的工作原理。還有一件事:我已經在我的vimrc中擁有了所有這些命令,但並未按照您的建議同時調用。在這種情況下有什麼我不知道的嗎? – 2010-07-19 13:50:06

+0

爲什麼這些命令在一起使用時起作用,而不是在單獨使用時起作用? – crisron 2015-11-28 19:45:47

相關問題