在可視化模式下,可以對一個文本塊的整體進行操作。例如,首先高亮選中一部分文本,然后用d命令刪除這個文本塊。可視化模式的好處在於,你可以在做改動之前,就看到操作將影響的文本。可視化模式可以分為以下三種:
- 用
v
命令進入的字符可視化模式(Characterwise visual mode)。文本選擇是以字符為單位的。 - 用
V
命令進入的行可視化模式(Linewise visual mode)。文本選擇是以行為單位的。 - 用
ctrl-V
進入的塊可視化模式(Blockwise visual mode)。可以選擇一個矩形內的文本。(注意:在Windows中,ctrl-V
可能已經被影射為粘貼操作,可以使用ctrl-Q
進入塊可視化模式。)
切換可視化模式
通過輸入相應的可視化命令,就可以切換到不同的可視化模式。例如現在字符可視化模式下,如果想要切換到塊可視化模式,那么只需要輸入ctrl-V即可。當然,我們也可以先用ESC關閉當前的可視化模式,然后再進入其它可視化模式。
在可視化模式下選擇
使用命令v
進入字符可視化模式。在此模式下,用命令移動光標,光標起始位置和當前位置之間的文本將會以高亮顯示。這時就可以對這些高亮顯示的文本進行整體的操作。例如:在字符可視化模式中,首先用6l
命令選中光標右側的6個字符,然后輸入d
命令刪除高亮顯示的文本。
使用命令V
進入行可視化模式。在此模式下,我們使用2j
命令,就可以選中當前行及其隨后2行。
使用命令ctrl-Q
進入塊可視化模式。在此模式下,我們使用2l
命令向右移動,然后使用3j
命令向下移動,就可以選中4行2列的文本塊。
命令gv
可以重復前一次可視化模式時選中的文本。如果已經在可視化模式下,執行該命令會選中前一次選擇的文本。如果重復行執gv命令,就會在當前選中的文本和前一次選中的文本之間進行切換。
在可視化模式下移動
如果你已經在可視化模式下選擇了若干文本,並且希望移動到已選擇文本的另一結尾處,那么可以使用o
命令。
如果你使用的是塊可視化模式,那么已選擇的區域將有四個角落。o
命令只能移動到對面的一個角落,這時你可以使用O
命令移動到同一行的另一個角落。
在可視化模式下編輯
在可視化模式下,我們可以進行各種編輯操作。如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 |
光標移動到選中文本的另一角落 |