一起學Vim|Vim中的可視模式

Vim的可視模式允許選中一塊文本區域並在其上進行操作,從表面上看這應該很容易理解,因為大多數編輯軟件的都沿用此模式。然而,Vim的可視模式和其他軟件的做法卻截然不同,接下來我們簡單瞭解一下可視模式。

可視模式允許選中一個文本區域並在其上操作。儘管這看起來似乎很熟悉,但對於選中的文本,Vim的視角卻有異於其他文本編輯器。

假設我們暫時沒有在Vim中工作,而是在網頁裡的文本框中輸入了單詞 “January” ,但發現應該輸入的是 “April” 。因此,先用鼠標雙擊此單詞,把它高亮選中後,按退格鍵刪除它,然後再輸入正確的月份。

可能你已經知道了,其實在這個例子中沒有必要按退格鍵。當單詞 “January” 處於選中狀態時,我們只需按下字母 “A” ,就會替換掉所選內容,清出地方來輸入 “April” 的剩餘部分。

如果你期待Vim的可視模式也可能以這種方式工作,那你就會覺得意外了。可視模式僅僅是另外一種,也就是說在此模式中,每個按鍵都完成一種不同的功能。

一起學Vim|Vim中的可視模式

我們在可視模式中依然可以使用一些普通模式的命令。我們可以把 h j k l 當成光標鍵使用;也可以用 f{char} 跳到當前行的某個字符上,然後用 ; , 命令相應地正向或反向重複此跳轉;甚至還可以用查找查找命令跳轉到匹配製定模式的地方。每次在可視模式中移動光標,都會改變高亮選區的邊界。

某些可視模式命令執行的基本功能與普通模式相同,但操作上有些細微的變化。例如,在這兩種模式中,c 命令的功能是一樣的,都是刪除指定的文本並切換到插入模式。不過,要指定其操作的範圍,二者的方式卻不甚相同。在普通模式中,先觸發修改命令,然後使用動作命令指定其範圍。如果你還記得之前的講過的內通,就會知道這個命令被稱為操作符命令。然而,在可視模式中,要先選中選區,然後再觸發修改命令。這種次序顛倒的方式對所有的操作符命令都適用。對大說人來說,可視模式的做法感覺起來更自然。

讓我們回顧前面遇到的那個簡單的例子,即把單詞 “January” 修改為 “April” 。這一次,假設我們不是在網頁上的文本框裡,而是回到了舒適的Vim中。我們先把光標移到單詞 “January” 的某個位置,然後執行 viw 來高粱選擇這個詞。現在不能直接輸入單詞 “April” ,因為這會觸發 A 命令並把文本 “pril” 添加到行尾。我們要換種做法,先用 c 這種做法和最初在網頁中所用的方式類似,只不過用的是 c 鍵而不是退格鍵。



分享到:


相關文章: