2009-09-10 52 views
10

你如何在上下左右選擇一段代碼?vim問題:掛鉤一段代碼

+0

的http://計算器。com/questions/442302/tabbing-selected-section-in-vim – 2009-09-10 21:52:15

+3

你是什麼意思上下? – 2009-09-10 21:53:08

+0

說我有一塊代碼,我想把它[幾行]下移 – vehomzzz 2009-09-10 21:53:54

回答

35

我最喜歡的方式是選擇你的代碼塊(通常是[V] isual line mode),然後按>或<。

如果您想多次選擇標籤,2>或3>可以重複播放。

如果您沒有足夠的標籤(或標籤太多),請輸入「gv」重新選擇您的選擇,然後重試。

要移動一段代碼,請使用[V]同相線模式選擇它,然後按「d」。這是「剪切」操作。

然後將光標移動到您想要的位置,然後按「p」。這是「粘貼」操作。

您也可以嘗試使用[V]線性模式選擇自動標記代碼塊,然後按「=」。

+5

gv是否會重新選擇先前的選擇?哇 - 這是有用的自己的權利... – vehomzzz 2009-09-10 22:00:15

+5

如果代碼沒有足夠的標籤,您可以使用點'.'命令重複上次標識... – CMS 2009-09-11 03:35:33

+0

我從來不知道有關gv提示,謝謝爲這一個! – 2010-10-17 09:39:10

1

在命令模式:

>

正如任何其他命令,你可以在前面加上要線的數目以具有它施加:

+ + >

將「標籤」22行。

Press 如果你想「重新標籤」

4

要縮進包含光標內部模塊,這樣做:>iB 縮進內部模塊包括花括號,這樣做:>aB

您可以替換「>」與'<'縮進左側。

要自動縮進按==(或=如果您有突出顯示的文本)。

1

我使用可視化模式的方便重新映射,允許多次縮進文本,同時保持文本的選擇。類似於一些IDE允許您選擇並按Tab(或Shift-Tab)縮進。

以下添加到您的.vimrc

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

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

0

剛進去的視覺模式打字V之後,再使用<或>字符:)