2011-06-20 59 views
6

我使用vimdiff同時合併Python文件,結果有這樣的事情:我可以用vim做多行編輯嗎?

def code(): 
    line 1 
    line 2 
    line 3 
    line 4 
    ... 
    line n 

在這種狀態下,壓痕是不一致的。我怎樣才能刪除行前的所有空格?我嘗試了Visual模式,但它選擇了整條線。 vim是否有多行編輯?記事本++允許使用Alt-Shift。

回答

6

Ctrl-V選擇塊。

或者,在文件中的所有行的開頭刪除所有空白:

:%s/^\s\+ 
+2

如果您使用Ctrl-V,然後按j選擇要將代碼對齊到的列,請按住<<移動列後的代碼。 – Benoit

+0

@Benoit:大把戲!我經常增加/減少線條中間的縮進:直到現在我正在拖/粘空間! –

6

至少有兩種解決問題的方法:

  1. 有一個逐塊選擇模式比您使用輸入Ctrlv。您可以選擇行首的空格,然後點擊d

  2. 或者,您也可以選擇面向行要通過進入視覺模式v修改行(然後使用向下箭頭鍵或Ĵ選擇)。然後使用<刪除一個縮進級別。使用重複最後一個操作,如果你想刪除多個縮進。

3

V將你置於視線模式,然後你可以按輸入命令只對選定的線路上執行。

3

使用VISUAL模式,您只需選擇想要重新縮進的所有行並點擊=即可。

我從來沒有使用過Notepad ++,但我認爲你所謂的多行編輯可以通過Vim調用VISUAL BLOCK來實現:代替V命中<C-v>。然後您可以選擇文本的矩形部分。一旦你有你的專欄,點擊IA進入編輯模式,然後<Esc>將您的編輯應用到所有行。既然你想刪除一個單獨的空間,你必須直觀地選擇空格列並點擊xd

我想你也可以用簡單的搜索/替換來做到這一點。或使用:norm

相關問題