Vim游標移動命令彙總-Vim入門教程

首席提問官發表於2019-01-20

介紹Vim游標移動命令,移動vim游標到行首、行跳轉、vim匹配單詞和匹配括號跳轉,Vim翻頁命令。

一、Vim游標移動簡介

Vi/Vim中進行游標移動的命令是針對不同的操作單位而設計,不同的命令對應不同的操作單位。

在執行Vim游標移動命令時,首先要分清楚是採用哪種操作單位:一個字元、一個句子、一個段落、一行、一屏、一頁。

確定操作單位後,需要確定命令重複執行的次數。Vim游標移動命令的操作物件範圍計算公式為:
操作範圍 = 操作次數 x 操作單位

例如:5h命令表示左移5個字元,8w命令右移8個單詞

二、Vim移動游標命令

2.1 上、下、左、右
←h j↓ k↑ l→

Vim的上下左右移動游標命令是經過精心設計的,我們在使用編輯器時最常用的操作是下移游標。
而鍵盤上的j、k按鍵使用最方便,所以分別用來作為下移、上移游標。
h、l分別位於j、k的兩側,根據其所在方位用來實現游標的左移和右移。

2.2 行級移動
0 移動游標到當前行行首
$ 移動游標到當前行行尾
^ 移動游標到當前行的第一個非空字元
nG 移動游標到當前檔案的第n行
:n 移動游標到當前檔案的第n行 (同上)

tips:

(1) Vim的命令中,0 表示行首,$ 表示行尾。可以回顧下Vim文字編輯命令彙總中提到的刪除命令,裡面就提到了0和$

(2) 移動游標到當前檔案的第n行使用的命令:n是在vim尾行模式下執行的,所以輸入完:n後需要按Enter鍵執行命令

2.3 檔案首尾移動
gg 或 :0 移動游標到當前檔案的第一行
GG 或 :$ 移動游標到當前未經的最後一行

2.4 單詞級移動
w 或 W 移動到下一單詞的開頭
b 或 B 移動到上一單詞的開頭
e 或 E 移動到游標所在單詞的末尾

vim單詞級滑鼠移動

W、B、E命令操作的單詞是以空白字元(空格、Tab)分隔的字串
比如字串“str1-str2 str3-str4”,對W、B、E命令來說是兩個單詞,而對w、b、e命令來說則是四個單詞

關於Vim單詞和字串,可以參考Vim教程網文章Vim基於單詞移動及其Vim單詞、字串概念

2.5 匹配單詞級移動

  • 移動游標到 [匹配] 游標當前所在單詞的下一個單詞
  • 移動游標到 [匹配] 游標當前所在單詞的上一個單詞

2.6 匹配括號移動
% 移動游標到括號左半部分( 包括(、{、[ )對應右半匹配部分( )、}、] )

2.7 段落級移動
} 移動游標到當前段落的末尾
{ 移到游標到當前段落的開頭

2.8 螢幕級移動
H 移動游標到螢幕的第一行
M 移動游標到螢幕的中間一行
L 移動游標到螢幕的最後一行

2.9 翻頁
Ctrl + f 向前滾動一頁
Ctrl + b 向後滾動一頁
Ctrl + u 向前滾動半頁
Ctrl + d 向後滾動半頁

三、與其他命令聯動

很多命令都可以和Vim教程網總結的vim游標移動命令連動

基本命令模式為:

例如,Vim命令0y$拆開分別表示:0移動游標到當前行首;y複製;$當前行尾。所以,命令0y$意味著複製游標當前所在行所有內容

例如,Vim命令ye,表示從當前位置拷貝到當前所在單詞的最後一個字元