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