vim visual model

1.進入visual模式
visual模式
有三種,一種是默認的visual模式,在normal模式下按下”v”就可以進入。一種是visual line模式,按下”V”可以進入。另一種是今天要講的visual block模式,按下Ctrl-V進入。如果是在Windows下面的vim,則用Ctrl-Q進入。Windows下的vim有許多快捷鍵被替換掉了,在安裝目錄下的mswin.msi有詳細的信息。

2.選擇文本
進入visual模式後,按住shift鍵就可以上下左右移動選擇文本,也可以使用數字+h/j/k/l來移動選擇文本塊;使用”$”和”^”可以將選擇擴展到行尾或者行首。

3.插入
選擇文本塊後,鍵入”I”進入文本插入模式。鍵入你想輸入的文本後,按下”Esc”,這樣就會在你選擇的文本塊的每行的左邊(選擇文本的左邊)全部插入你剛纔輸入的文本,如:

1 include "/home/app/file1.h"
2 include "/home/app/file2.h"
3 include "/home/app/file3.h"

當你光標停在”file1″的”f”上時,按下Ctrl-Q進入visual模式,然後”2j”選擇2行,鍵入”I”進入插入模式,輸入”include/”後按下”Esc”,文本就會變成這樣了:

1 include "/home/app/include/file1.h"
2 include "/home/app/include/file2.h"
3 include "/home/app/include/file3.h"</TD>

注意:(i)如果要在選擇的塊的後面加入文本,將”I”替換成”A”(Append)即可,比如上例中光標停留在”file”前面的一個”/”上時,鍵入”Ainclude/”也可以達到相同效果。(ii)如果想使選擇的文本塊擴展到每行行尾,進入visual模式後,按下”$”即可。同理,擴展到行首使用”^”

4.替換
如果是想替換選中的文本,先選中需要替換的文本,然後鍵入”c”進入輸入狀態,鍵入文本後按下”Esc”鍵。如上例中,先選中”app”,然後鍵入”cinclude”,文本內容將變成:

1 include "/home/include/file1.h"
2 include "/home/include/file2.h"
3 include "/home/include/file3.h"</TD>

如果想替換掉選中文本塊到行尾的所有內容,使用C代替c,或者利用”$”先將選中擴展至行尾,再用c進行操作.
替換還有一下幾個命令,在選擇本文塊後直接鍵入該命令即可:
~ 交換大小寫
U 將小寫變成大寫
u 將大寫變成小寫

5.移動
使用”>”可以將選擇的文本向右移動,空白部分以空格填充。使用”:set shiftwidth=n”(n爲數字)命令可以定義移動的空格數。這在我們寫程序時非常有用,比如有以下代碼:

1 for ( i=0; i<10; i++ ) { 
2   if ( ... ) { 
3     ...... 
4   
5   if ( ... ) { 
6     a = i * 2; 
7     b = a--; 
8   
9 }

如果我們想在第一個if語句前再加一個for循環,就是做成兩次for循環的嵌套,但是內部的程序段不變,加入後,顯然程序的縮進被破壞,第一個if後的所有語句都要向右再縮進,這次,塊移動操作就派上用場啦。先設置好你需要縮進的空白數,然後選中第一個if塊的語句,然後鍵入”>”,縮進一下就完成了。可憐以前我都是一行又一行的去移啊移啊。。。
注意:”<”可以實現向左移動,但是如果左邊沒有足夠的shift空間,那麼該命令什麼也不做。

6.連接
“J”命令可以是你選擇的行全部連接成一行,行與行之間以一個空格代替所有的換行符和空白,在連接行的最後放置兩個空格。如果想保留行的前導空白和後綴空白,使用”gJ”來代替”J”命令。
該命令在三種visual模式下均可操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章