亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

Vim 的模式

Vim 之所以強大和它的模式是分不開的。這也是它的獨特之處。
Vim 一共有四種常用模式:

  • 普通模式
  • 插入模式
  • 命令行模式
  • 可視化模式

下面我們一一來看下這四個常用模式:

1. 普通模式

和其他我們常用的文本編輯器(比如 word 等)不同,默認情況下 Vim 打開文件后處于普通模式。這個模式并不能直接輸入文本。在普通模式下主要的功能是,移動,復制,刪除等對現有內容的操作。比如:

1.1 普通模式下移動光標

鍵名 作用
h 光標左移
j 光標下移
k 光標上移
l 光標右移

除了單獨的移動光標之外,我們還可以利用 Vim 的組合思想 —— 數字前綴組合來移動多行,具體細節會在相應章節細說。

組合鍵 作用
2+j 向下移動兩行
5+h 向左移動五個字符=

除了上面的方向法,還有針對更加豐富粒度的詞組法:

鍵名 作用
w 移動到下一個單詞詞首
b 移動到上一個單詞詞首
e 移動到當前單詞詞尾

1.2 普通模式下進行復制 / 刪除

普通模式是 Vim 中最常用的模式,這也是區別于其他編輯器的地方。這個模式下可以按照上面的簡單操作,做出豐富的操作,高效按需移動,替換,刪除等常

見操作。這些都是可以通過快捷鍵的方式,再加上組合的思想便可以達到所向披靡。

Tips: 在其他模式下可以點擊 Esc 鍵回到普通模式。

2. 插入模式

插入模式是最容易理解的模式,就是和我們平時使用的編輯器一樣就是為了插入字符的。進入這個模式也很簡單,主要有三種方式:

2.1 i 鍵進入

i 表示 insert,即插入的意思,言簡意賅。打開 Vim 編輯器并點擊 i 鍵,這個時候編輯器左下角會出現 – INSERT – 字樣,就這樣表示進入插入模式了。

2.2 a 鍵進入

a 表示 append 意思,打開編輯器后點擊 a 鍵進入此模式。和 insert 不同的是,這個時候光標會移動到下一個字符,然后再進入插入模式。

2.3 o 鍵進入

o 這個方式會在當前行下面新插入一行,并進入插入模式。

下面我們集中演示下上面的三種插入操作

2.4 大寫字母方式進入插入模式

這些命令還可以以大寫字母方式進入插入模式,我們來看一下會有什么不一樣的效果。

  • I 鍵:光標所在行首進行插入
  • A 鍵:光標所在行尾進行插入
  • O 鍵:光標所在行前新插入一空行進行插入

Tips: 這個模式很簡單,沒有太多的花樣。而且本身 Vim 也不是為了插入模式而設計的,大家可以了解下即可。

3. 可視化模式

可視化模式主要用于對文本進行選擇,類似于平時使用鼠標選中操作文本。我們可以選中相應文本,然后針對選中的文本指定操作:復制,替換等。

可視化模式主要有三種方式:

  • v:字符級別可視化
  • V: 行級別可視化
  • Ctrl-v: 塊級別可視化

3.1 字符級別可視化

選中文本:

  • 按下 v 進入可視化模式。

  • 移動光標到指定的首尾文本。這個時候選中部分就會被 Vim 高亮提示。

3.2 行級別可視化

按下 V 進入可視化模式。

3.3 塊級別可視化

按下 Ctrl-v 進入可視化模式。

4. 命令行模式

顧名思義,命令行模式下的操作當然就是以命令為主,Vim 為我們提供了大量的豐富的命令,你可以把命令行模式當做是普通模式的加強版,它可以用來做到許多普通模式做不到的事情。

在普通模式下按下 : ,這時你會看到窗口的左下角出現了一個 : ,代表你已經進入命令行模式可以進行命令的輸入,輸入的命令會出現在 : 的后面。下面我們演示下替換的命令操作:

注解
分解 作用 備注
進入命令行模式
% 意味所有行 也可以是指定行或者指定范圍行
s 替換意思 substitute
/fmt 匹配的字符 這可以是個正則表達式
/mmm/ 需要替換的結果
g 意思全局 和上面%有所區別,一個是匹配全局一個是替換全局

Tips: Vim 有很多豐富的命令,這里只是拋磚引玉僅供大家對命令模式有一個初步概念。后面再實際增刪改查等操作中會加入更多的命令操作。

5. 小結

這四種模式奠定了 Vim 的基本框架,每種模式都為 Vim 提供了豐富的特性。尤其是普通模式和命令行模式是重中之重。在這些模式背后有非常有意思和高效的技巧,后面我們會慢慢挖掘。