上下左右
記住 VIM 的上下左右似乎沒什麼秘訣,之所以用 h
j
k
l
作為左上下右的原因是因為當時開發者的鍵盤上面的 hjkl
同時也代表左上下右的緣故。
左上下右 h j k l
歷史典故: ADM-3A 鍵盤
單字間的跳躍
- 向右跳躍至單字開頭
mode: visual
key: w
or SHIFT+RIGHT
速記法: w
ord
This is an apple.
>---->-->-->
w w 2w
- 向左跳躍至單字開頭
mode: visual
key: b
or SHIFT+LEFT
速記法: b
ackward
This is an apple.
<----<--<--<
2b b b
- 向右跳躍至單字結尾
mode: visual
key: e
速記法: e
nd
This is an apple.
--->----->
e 2e
- 向左跳躍至文字結尾
mode: visual
key: ge
速記法:g
o back to the e
nd of word
This is an apple.
<-----<------
2ge e
- 向右跳至特定英文字母
mode: visual
key: f
速記法: f
ly
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
再跳回上一個位置。