上下左右
記住 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.
$
跳回剛剛的位置
假設我們剛剛從ㄧ個位置跳到結尾(或其他位置),我們可以按 Ctrl + o 再跳回上一個位置。