上下左右

記住 VIM 的上下左右似乎沒什麼秘訣,之所以用 h j k l 作為左上下右的原因是因為當時開發者的鍵盤上面的 hjkl 同時也代表左上下右的緣故。

左上下右
h j k l

歷史典故: ADM-3A 鍵盤

單字間的跳躍

  • 向右跳躍至單字開頭

mode: visual

key: w or SHIFT+RIGHT

速記法: word

This is an apple.
>---->-->-->
w    w    2w
  • 向左跳躍至單字開頭

mode: visual

key: b or SHIFT+LEFT

速記法: backward

This is an apple.
<----<--<--<
2b      b  b
  • 向右跳躍至單字結尾

mode: visual

key: e

速記法: end

This is an apple.
--->----->
   e     2e
  • 向左跳躍至文字結尾

mode: visual

key: ge

速記法:go back to the end of word

This is an apple.
   <-----<------
 2ge     e
  • 向右跳至特定英文字母

mode: visual

key: f

速記法: fly

This is an apple.
----->-->-------
   2fi  fa
  • 向左跳至特定英文單字

mode: visual

key: F

速記法: 小寫 f 的相反就是大寫 F

跳至相對應的括號

mode: visual

key: %

速記法: 這個沒有速記法XD

function func() { return true; };
                <-------------->
                       %

這個指令適用於 { , [ , ( 程式語言中常用的區塊符號。

如果要額外增加像 HTML 的角括號可以使用以下 VIM 設定:

:set mps+=<:>

mps 就是 matchpairs 的縮寫。

行首行尾跳躍

  • 行首

mode: visual

key: ^ or 0

速記法: 正規表示式的開頭符號 ^

This is an apple.
^
  • 行尾

mode: visual

key: $

速記法: 正規表示式的結尾符號 $

This is an apple.
                $