看完這篇學不會 Vim 定位操作我跟你姓!

前言

Linux 有一款編輯神器 Vim,熟練使用它的小夥伴對它愛不釋手。但是 Vim 入手的門檻有點高,需要記住各種快捷鍵。尤其是 Vim 的各種定位操作例如:光標切換到第7行、光標移動到行尾或行首等等。本文通過練習加測驗的模式帶你快速玩溜 Vim 定位操作。

需要注意的是:本文適合有Linux 基礎並瞭解Vim ,但是不熟悉其定位操作的同學。

接下來就來開始介紹 Vim 中常用的定位操作,本文中的操作一定要多練習方能徹底掌握Vim 定位大法歐。

定位操作簡單介紹

在練習之前首先來大致瞭解一下常用的定位操作,具體的快捷鍵和其的作用如下:

  • h:向左移動一個光標。
  • j: 向下移動一個光標。
  • k:向上移動一個光標。
  • l: 向右移動一個光標。
  • 0:移動到光標所在行的行首
  • $:移動到光標所在行的行尾
  • w:移至下一個單詞開頭包含中劃線的單詞
  • W:移至下一個單詞開頭不包含中劃線的單詞
  • e:移至下一個單詞結尾包含中劃線的單詞
  • E:移至下一個單詞結尾不包含中劃線的單詞
  • b:向後移到下一個單詞開頭包含中劃線的單詞
  • B:向後移到下一個單詞開頭不包含中劃線的單詞
  • gg/1G:移至第一行的開頭
  • numberG:移至數字指定的行的開頭
  • G:移至最後一行的開頭

Vim 定位操作練習說明

正所謂光說不練假把式,在瞭解完具體的定位快捷鍵後,有的小夥伴可能還是一頭霧水,沒關係跟着下面演示操練起來吧!多練幾次就瞭解了。

首先打開命令窗口輸入 vim operation-practice.txt 然後點擊回車(默認進入的是普通模式),點擊 i 鍵 進入編輯模式後輸入如下圖內容。點擊 Esc 退出到普通模式下通過 shift + : 進入命令模式,然後輸入w + 回車 保存 operation-practice.txt 文件後就可以開始操作了。

在這裏插入圖片描述

直線左右路線

光標從第一行 a 開始向右移動到第一行 0 在由 第一行 0 開始向左移動到第一行 a,直線左右路線是練習 h 向左 l 向右的操作。

在這裏插入圖片描述

直線上下路線

光標從第一行 a 開始向下移動到第七行的 a 在由第七行的 a 開始移動到第一行 a, 直線上下路線是練習 k 向上 j 向下的操作。

在這裏插入圖片描述

口型路線

口型路線具體操作需要如下4步,最後形成的效果是一個口字。口型路線是練習 k 向上 j 向下 h 向左 l 向右 的操作。

  1. 從第一行 a 開始向右移動到 0
  2. 從第一行的 0 開始移動到第七行的 0
  3. 從七行的 0 開始移動到第七行的 a
  4. 從七行的 a 開始移動到第一行 a

在這裏插入圖片描述

上下 S 彎路線

上下 S 彎路線具體操作是按照如下3步以此類推,最後形成一個好像是多個橫着的 S。上下 S 彎路線是練習 k 向上 j 向下 h 向左 l 向右 的操作。

  1. 從第一行 a 開始向下移動到第七行的 a
  2. 從第七行的 b 移動到第一行的 b
  3. 從第一行的 c 移動到從第七行 c

在這裏插入圖片描述
左右 S 彎路線

左右 S 彎路線具體操作是按照如下3步以此類推,最後形成一個好像是多個豎着的 S。左右 S 彎路線是練習 k 向上 j 向下 h 向左 l 向右的操作。

  1. 從第一行 a 開始向右移動到第一行的 0
  2. 從第二行的 z 移動到第二行的 1
  3. 從第三行的 a 移動到第三行 0

在這裏插入圖片描述
到這裏基本的上下左右移動練習介紹完畢,接下了練習,單詞跳轉和指定行跳轉等定位的操作。

和上面上下左右練習一樣首先命令窗口輸入 vim word.txt 然後點擊回車(默認進入的是普通模式),點擊 i 鍵 進入編輯模式後輸入如下圖內容。點擊 Esc 退出到普通模式下通過 shift + : 進入命令模式,然後輸入w +回車 保存 word.txt 文件後就可以開始操作了。
在這裏插入圖片描述
一個一個單詞跳轉:

點擊 w 或 W 會進行單詞的一個一個的跳轉,w 和 W 的區別是w包含中劃線的單詞 而W不包含中劃線的單詞。e 和 E的效果也是一個一個單詞跳轉,區別是 e 和 E 是跳轉到單詞末尾這裏就不做演示了。

w 執行的效果如下:
在這裏插入圖片描述
W 執行的效果如下:
在這裏插入圖片描述
點擊 b 會由後向前一個單詞一個單詞進行跳轉 和 w、e 正好相反。

b 執行的效果如下:
在這裏插入圖片描述
首行和尾行開頭的跳轉

輸入gg 會快速跳轉到文本內容第一行的開頭,輸入 shift + g 會快速跳轉到文本內容最後一行的開頭。

gg 和 G 的效果如下:
在這裏插入圖片描述
首行開頭末尾的跳轉

輸入 0 會快速跳轉到光標所在行的開頭,輸入 shift + $ 會快速跳轉到光標所在行的末尾。

0 和 $ 的效果如下:
在這裏插入圖片描述
指定具體行的跳轉

首先輸入數字然後在輸入 shift +g 會開始跳轉到指定數字的行的開頭。例如:9 + shift + g 會跳轉到文本內容的第9行的開頭。

number + G 效果如下:
在這裏插入圖片描述
上述操作練習多次後,就可以進入到一下重要的環節:通過遊戲測試你學習的程度。掌握的好不好玩一局就知道了。

練習成果測驗

接下來讓我隆重介紹一個讓你通過玩遊戲學習 Vim 命令的遊戲 —— PacVim,開發PacVim 的作者 Jamal Moon 已經將其開源在了 Github 上。大家可以訪問 Jamal Moon Github 倉庫查看 GitHub 倉庫地址:https://github.com/jmoon018/PacVim 。

在這個遊戲中,你是有着藍色光標的小綠人,逃脫紅色自負的怪物 Monster (紅色的 G,Ghost,鬼),和經典的吃豆人不同的是, PacVim 中的控制並不是我們習慣上的上下左右,而是 Vim 定位操作鍵位。具體玩法如下面的動圖所示:

在這裏插入圖片描述
如果你的Mac 或者 Windows 筆記本安裝了 Docker 你可以通過 如下命令運行PacVim

docker run -it freedomben/pacvim [LEVEL_NUMBER] [MODE]

LEVEL_NUMBER 取值範圍爲 0 - 9,是關卡等級,關卡越大難度越大,MODE 可以選擇 N 或 H,N 是:正常模式;H 是:困難模式。默認是 N。

如果你使用的是 Mac 系統使用者可以通過如下命令安裝PacVim,然後通過在命令窗口執行 pacvim 5 n 來運行 PacVim。

brew install pacvim 

接下來介紹一下游戲的規則:

獲勝條件: 使用vim命令將光標移至字母上方並突出顯示(變爲綠色)。在所有字母都突出顯示後,您將贏得並進入下一個級別。

失敗條件: 如果觸摸到鬼(就是紅色的G)或波浪號字符(~),則會喪生。如果您的生命少於0,則會輸掉整個遊戲。

還有如下幾點需要注意:

  • 您不能穿過牆壁(黃色)。您必須使用vim動作通過無牆壁的口進入。
  • 遊戲剛開始會給你三個生命。每次擊敗0、3、6、9等級別,您都會獲得生命如下圖所示紅色框表示你還有幾條命。

在這裏插入圖片描述

文章的最後感謝 佔小狼的博客 公衆號發表的 Vim一直學不會?試試這個 “真香” 神器 讓我知道這麼好玩的遊戲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章