linux中vim的visual模式

在可視化模式下,可以對一個文本塊的整體進行操作。例如,首先高亮選中一部分文本,然後用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 光標移動到選中文本的另一角落
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章