vim學習選取多行(轉)


在可視化模式下,可以對一個文本塊的整體進行操作。例如,首先高亮選中一部分文本,然后用d命令刪除這個文本塊。可視化模式的好處在於,你可以在做改動之前,就看到操作將影響的文本。可視化模式可以分為以下三種:

  1. v命令進入的字符可視化模式(Characterwise visual mode)。文本選擇是以字符為單位的。
  2. V命令進入的行可視化模式(Linewise visual mode)。文本選擇是以行為單位的。
  3. ctrl-V進入的塊可視化模式(Blockwise visual mode)。可以選擇一個矩形內的文本。(注意:在Windows中,ctrl-V可能已經被影射為粘貼操作,可以使用ctrl-Q進入塊可視化模式。)

切換可視化模式

通過輸入相應的可視化命令,就可以切換到不同的可視化模式。例如現在字符可視化模式下,如果想要切換到塊可視化模式,那么只需要輸入ctrl-V即可。當然,我們也可以先用ESC關閉當前的可視化模式,然后再進入其它可視化模式。

 

在可視化模式下選擇

使用命令v進入字符可視化模式。在此模式下,用命令移動光標,光標起始位置和當前位置之間的文本將會以高亮顯示。這時就可以對這些高亮顯示的文本進行整體的操作。例如:在字符可視化模式中,首先用6l命令選中光標右側的6個字符,然后輸入d命令刪除高亮顯示的文本。

VisualMode_Char

 

使用命令V進入行可視化模式。在此模式下,我們使用2j命令,就可以選中當前行及其隨后2行。

VisualMode_Line

 

 

使用命令ctrl-Q進入塊可視化模式。在此模式下,我們使用2l命令向右移動,然后使用3j命令向下移動,就可以選中4行2列的文本塊。

VisualMode_Block

 

命令gv可以重復前一次可視化模式時選中的文本。如果已經在可視化模式下,執行該命令會選中前一次選擇的文本。如果重復行執gv命令,就會在當前選中的文本和前一次選中的文本之間進行切換。

 

 

在可視化模式下移動

如果你已經在可視化模式下選擇了若干文本,並且希望移動到已選擇文本的另一結尾處,那么可以使用o命令。

VisualMode_o_1

 

 

如果你使用的是塊可視化模式,那么已選擇的區域將有四個角落。o命令只能移動到對面的一個角落,這時你可以使用O命令移動到同一行的另一個角落。

VisualMode_o_2

 

 

在可視化模式下編輯

在可視化模式下,我們可以進行各種編輯操作。如d命令可以刪除高亮顯示的文本,而D命令則會刪除一行,即使這一行中只有部分文本是高亮顯示的。類似的,y命令將復制高亮顯示的文本,而Y命令會復制整行。c命令可以將高亮顯示的文本刪除並進入編輯模式,而C命令會刪除一行文本並進入編輯狀態。

 

針對高亮顯示的文本塊,我們可以用命令~進行大小寫轉換。

 

用命令>增加縮進,或用命令<減少縮進。

 

我們還可以利用可視化模式,來合並多行文本。J命令可以將高亮顯示的文本內容合並為一行,同時以空格來分隔各行。如果不希望在行間插入空格,那么可以使用gJ命令。

 

使用g?命令,可以使用rot 13算法來加密高亮顯示的文本。針對同一個文本再次執行加密命令,就可以進行文本解密。

 

 

在可視化模式下,按下:鍵就可以對選定范圍進行操作。例如:我們先在可視化模式下選中文本,然后執行:write block.txt命令,就可以將文本塊寫入另一文件中。選擇多行,然后執行:sort命令,則可以對選中的文本進行排序。

 

 

如果想要查看可視化相關的幫助信息,可以在所希望幫助的名稱前加v_前綴。例如使用:help v_d命令,可以得到關於在可視模式下進行刪除操作的幫助信息。

 

退出可視化模式

當我們想要退出可視化模式時,可以按ESC鍵或ctrl+c鍵。

命令小結

v 進入字符可視化模式   (移動一次選擇一個字符)
V 進入行可視化模式
ctrl-V 進入塊可視化模式
ctrl-Q
gv 選中前一次可視化模式時選擇的文本
o 光標移動到選中文本的另一結尾
O 光標移動到選中文本的另一角落


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM