天天看點

菜鳥vimer成長記——第2.2章、visual模式目的使用步驟激活可視模式移動文本操作符獨有功能

  vi是沒有可視模式的。然而大多數編輯軟體都都是有可視模式。是以我猜測vim是幾乎迫于無奈才有了visual模式。

  個人建議,能不用就不用。這樣能直接在頭腦裡處理好文本,鍛煉文本處理能力,同時能轉變過來思維習慣。

掌握visual的基本操作步驟

記住visual獨有的用法

  visual的操作可以分為三個步驟。可以對比normal的二個步驟:操作符+動作指令。

激活可視模式。一個是因為絕大時間都在normal模式下,需要切換。第二個是因為visual有三種情況。

移動文本末端。通過移動文本的末端來選擇高亮文本。

輸入操作符。最後通過操作符完成本次文本操作。

  Vim 具有3 種不同的可視模式,分别用于操作字元文本、行文本或塊文本。

  對應的開啟文法如下:

指令

用途

v

 激活面向字元的可視模式

V

 激活面向行的可視模式

Ctrl+v

 激活面向列塊的可視模式

gv

 重選上次(字元,行,塊都可以)的高亮選區

gn

激活面向字元的可視模式并選中最近一次搜尋比對的文本。相當于搜尋的時候n。如果連續使用gn指令,則選取到下一塊比對文本

gN

激活面向字元的可視模式并選中最近一次搜尋比對的文本。相當于搜尋的時候N。如果連續使用gn指令,則選取到上一塊比對文本

  和normal模式的動作指令的用法一樣。這裡不在贅述。

操作按鍵

o

切換高亮選區的活動端。即切換高度的開頭和結尾

O(shift+o)

和o一樣。隻有在visual是塊模式的時候,它表示的是目前行被選中的開頭和結尾

  操作符也和normal模式基本一樣。除了下面列的“特殊情況”的地方需要注意,其他的用法都是一樣的。

在可視模式及操作符待決模式中,i 和a 鍵表示文本選擇的開頭。即和normal的文本選擇的a和i一個意思。是以按i,a并不能進入insert模式。

在可視模式及操作符待決模式中,o 和O 鍵表示切換高亮選區的活動端。是以也不能進入insert模式。

  隻要可能,最好用操作符指令,而不是可視指令。

  使用可視模式下的指令進行大寫轉換:

  1、我們先轉一個單詞為大寫。

菜鳥vimer成長記——第2.2章、visual模式目的使用步驟激活可視模式移動文本操作符獨有功能

  2、好,我們執行一下j. 指令,把光标移到下一行并重複上次的修改。此指令在第二行工作得很好,但如果我們再執行一次,最終就會得到這個看起來有點古怪的結果:

  

菜鳥vimer成長記——第2.2章、visual模式目的使用步驟激活可視模式移動文本操作符獨有功能

  使用普通模式下的操作符指令進行大寫轉換:

      

菜鳥vimer成長記——第2.2章、visual模式目的使用步驟激活可視模式移動文本操作符獨有功能

  結論:如果我們想使點指令能夠重複某些有用的工作,那麼最好要遠離可視模式。作為一般的原則,在做一系列可重複的修改時,最好首選操作符指令,而不是其對應的可視模式指令。甚至我個人的建議是:不要使用visual模式。

  這個是visual獨有的功能。在操作一些配置檔案,而且文本複雜度很低的時候(比如不需要經過大腦計算就可以到達的,每個人因熟練度不同而異,比如3-10行),可以使用。

  例如:

修改hosts檔案裡域名的指向,光标前後幾行的域名從内網的192.168.1.16修改為127.0.0.1的時候。

在編寫腳本的時候,光标前後幾行代碼需要一會注釋掉一會取消注釋測試時。