2008-11-25 55 views
15

我想縮進一段文字如何在gvim(win32)中縮進選區?

我可以在linux構建givm中做到這一點。

我這樣做是狀態 gvim我沒有在插入或視覺模式。底部的欄位在左側空白,行號,百分比顯示在右側。

然後我執行下列步驟:我通過點擊和拖動選擇文本塊。然後我打了shift +。之後,我點擊esc,文本塊將移到一個標籤上。

如果我在windows中這樣做,但它只是用>代替塊。

我只是運行股票贏得rc文件和GVIM版本7.1。

+0

http://stackoverflow.com/questions/235839/how-do-i-indent-multiple-lines-quickly-in-vi – 2008-11-25 21:26:25

+0

(希望解決問題,如果沒有,說出口) – 2008-11-25 21:30:46

+0

它不,我的問題是關於gvim的win32構建。你所指的問題的解決方案不適用於win32。 – Fredrick 2008-11-26 00:06:39

回答

18

如果您第一次輸入SHIFT-V,而不是Shift +箭頭來選擇文本,它會縮進。 您也可以使用SHIFT-V,並使用'hjkl'來選擇塊。

如果使用shift +箭頭或鼠標選擇文本塊,它將不起作用,選擇將被替換爲「>」。當你改變selectmode時這可以被改變;的行爲後

設置selectmode =鼠標,鍵盤

  • 默認設置mswin

設置selectmode =鍵

  • 現在你可以用鼠標和按 '>' 選擇縮進

set selectmode =

  • 現在你可以用鼠標同時選擇和Shift +箭頭鍵,然後按「>」縮進

如果您添加到您的vimrc,這樣做的行爲之後mswin

2

Esc鍵 - > + V - >選擇線 - >>>

+0

這也導致選擇被替換爲'>'。 – Fredrick 2008-11-26 00:12:54

+0

當我這樣做時,它會縮進大約5個空格的塊,但我只想縮進1或2個空格。我怎樣才能做到這一點? (謝謝) – 2011-03-01 21:32:03

1

你需要在你的vimrc文件來改變behave mswinbehave xterm

5

相關這樣,我使用可視化模式的方便重新映射,允許多次縮進文本,同時保持文本的選擇。與visual studio讓你選擇和點擊tab(或shift-tab)縮進類似。

將以下內容添加到您的。vimrc

" Pressing <or> will let you indent/unident selected lines 
vnoremap < <gv 
vnoremap > >gv 

此外,您可以使用==讓vim自動嘗試並確定正確的縮進。它可以在任何行上購買,只需將光標放在那裏並按==即可,或者您可以選擇整個文件並按==來修復所有縮進(由wysiwyg編輯器生成的html上的奇蹟)。

1

如果您想完全避免視覺模式,則可以使用文本對象。例如,正常模式下的>ap縮進一段,>aB縮進一個花括號塊等。請參閱:h text-objects