基本動作

備註

  • 每個動作都可以在運算子命令之後使用,因此該命令對動作範圍所包含的文字進行操作。
  • 就像運算子命令一樣,運動可以包括計數,因此你可以按 2w ords 移動,例如。

箭頭

在 Vim 中,普通箭頭/游標鍵( ← ↓ ↑ → )按預期工作。但是,對於觸控式打字機,使用 h j k l 替代鍵更容易。在典型的鍵盤上,它們在同一行上彼此相鄰,並且可以使用右手輕鬆訪問。要記住哪些內容的助記符技術是這樣的:

  • h / l - 在鍵盤上的四個字母中,它們位於“最左邊/右邊”,因此它們分別相當於“向左/向右”;
  • j - 小寫 j 的尾部在典型字母下面向下,就像一個小箭頭 - 所以它相當於向下;
  • k - 相反,小寫 kascender 比典型的字母高出 up,就像一個小指標 - 所以它相當於上升

基本動議

以下所有命令都應在正常模式下完成。

命令 描述
h 要麼 left 把 [count] 字元放到左邊
j 要麼 down 去 [count] 下面的字元
k 要麼 up 去 [count] 上面的人物
l 要麼 right 把 [count] 字元放到右邊
gg 去第一行,或者 [count] 如果有的話,去第一行
H 轉到可見螢幕的第一行
M 轉到可見螢幕的中間行
L 轉到可見螢幕的最後一行
G 走到最後 [count] 一行,如果給出的話,就行了
Home 要麼 0 轉到該行的第一個字元
^ 轉到該行的第一個非空白字元
+ 向下一行到第一個非空白字元
- 上一行到第一個非空白字元
$ 要麼 End 轉到行尾(如果 [count] 給出,則 [count - 1] 向下行)
f{char} 去 [count] ‘發生 {char} 在右邊的包容性
F{char} 去 [count] “日發生的 {char} 向左包容
t{char} 去 [count] ‘發生 {char} 右邊專屬
T{char} 轉到 [count] ’ {char} 左邊的發生專屬
; 重複最新 f,t,F 或 T [count] 倍
, 重複最新 f,t,F 或 T,在相反方向上, [count] 次
w 轉到下一個單詞的開頭
b 轉到上一個單詞的開頭
e 轉到下一個單詞的結尾
ge 轉到上一個單詞的結尾
% 去匹配對,例如 (), [], {}/* */#if, #ifdef, #else, #elif, #endif
{ } 上一個/下一個段落
[{ ]} 塊的開始/結束
‘{char} 去標記(標記 m{char} )
<C-B> <C-F> 上一頁/下一頁
<C-O> <C-I> 返回或跳轉到跳轉列表(需要 jumplist 功能,請參閱:help jumps

注意: b,e 並且 w 預設情況下將一個單詞視為字母,數字和下劃線(可以使用 iskeyword 設定進行配置)。這些中的每一個也可以大寫,使它們跳過任何不是空白的東西。

注意:Vim 識別兩種運動:運算子移動(:help movement)和跳躍(:help jumplist)。像 gggGg,)執行的動作算作跳躍,變化也是如此。變化得到他們自己的跳轉列表,如上所述通過 g,g; 可以導航(參見:help changelist)。Vim 不會將跳轉視為動作命令

當跨行向上或向下移動時,游標會保留其預期的列。如果新行太短,則游標移動到新行的末尾。如果列超出了行的末尾,則游標將顯示在行的末尾。初始列號仍保留,直到採取措施更改它(例如編輯文字或顯式移動列)。

如果行的長度超過螢幕寬度,則會包裝文字(在預設設定下,可以配置此行為)。要移動螢幕上顯示的行,而不是檔案中的行,請 g 在常用命令前新增。例如,gj 將游標移動到當前位置下方一行顯示的位置,即使它位於檔案的同一行。