vim 區域選擇/塊選擇


區域選擇操作:

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")).而光標鍵在第一個 的位置。

vi" → 會選擇 foo
va" → 會選擇 "foo"
vi) → 會選擇 "foo"
va) → 會選擇("foo")
v2i) → 會選擇 map (+) ("foo")
v2a) → 會選擇 (map (+) ("foo"))

 

區域選擇后可以進行哪些操作:

  1. 針對高亮顯示的文本塊,我們可以用命令~進行大小寫轉換。
  2. 用命令>增加縮進,或用命令<減少縮進。
  3. 我們還可以利用可視化模式,來合並多行文本。J命令可以將高亮顯示的文本內容合並為一行,同時以空格來分隔各行。如果不希望在行間插入空格,那么可以使用gJ命令。
  4. 加注釋,或者前、后加字符, I(大寫i)-- [ESC] → I是插入,插入“--”,按ESC鍵來為每一行生效
  5. 使用g?命令,可以使用rot 13算法來加密高亮顯示的文本。針對同一個文本再次執行加密命令,就可以進行文本解密。

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

然后執行:sort命令,則可以對選中的文本進行排序。

 


免責聲明!

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



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