區域選擇操作:
| v | 進入字符可視化模式(移動一次選擇一個字符) |
| V | 進入行可視化模式 |
| ctrl-V | 進入塊可視化模式 |
| ctrl-Q | |
| gv | 選中前一次可視化模式時選擇的文本 |
| o | 光標移動到選中文本的另一結尾 |
| O | 光標移動到選中文本的另一角落 |
補充操作:配合% (各種括號前后跳轉),行內跳轉:fa(到下一個為a的字符上),t(到某個字符前的字符)。大寫的F、T是向反方向查找,命令有各種組合:
fa→ 從當前光標位置到下一個為a的字符處,你也可以fs到下一個為s的字符。t,→ 從當前光標位置到逗號前的第一個字符。逗號可以變成其它字符。3fa→ 在當前行查找從當前光標位置起第三個出現的a。F和T→ 和f和t一樣,只不過是相反方向。
- 還有一個很有用的命令是
dt"→ 刪除所有的內容,直到遇到雙引號——"。
最強操作:<action>a<object> 或 <action>i<object>
在visual 模式下,這些命令很強大,其命令格式為
<action>a<object> 和 <action>i<object>
- action可以是任何的命令,如
d(刪除),y(拷貝),v(可以視模式選擇)。 - object 可能是:
w一個單詞,W一個以空格為分隔的單詞,s一個句字,p一個段落。也可以是一個特別的字符:"、'、)、}、]。
假設你有一個字符串 (map (+) ("foo")).而光標鍵在第一個 o 的位置。
vi" → 會選擇 foo va" → 會選擇 "foo" vi) → 會選擇 "foo" va) → 會選擇("foo") v2i) → 會選擇 map (+) ("foo") v2a) → 會選擇 (map (+) ("foo"))
區域選擇后可以進行哪些操作:
- 針對高亮顯示的文本塊,我們可以用命令~進行大小寫轉換。
- 用命令>增加縮進,或用命令<減少縮進。
- 我們還可以利用可視化模式,來合並多行文本。J命令可以將高亮顯示的文本內容合並為一行,同時以空格來分隔各行。如果不希望在行間插入空格,那么可以使用gJ命令。
- 加注釋,或者前、后加字符, I(大寫i)-- [ESC] → I是插入,插入“--”,按ESC鍵來為每一行生效
- 使用g?命令,可以使用rot 13算法來加密高亮顯示的文本。針對同一個文本再次執行加密命令,就可以進行文本解密。
在可視化模式下,按下:鍵就可以對選定范圍進行操作。例如:我們先在可視化模式下選中文本,然后執行:write block.txt命令,就可以將文本塊寫入另一文件中。選擇多行,
然后執行:sort命令,則可以對選中的文本進行排序。
