一般指令模式(Vim)
移動錨點
h:左
j:下
k:上
l:右
跳轉
gg:移到第一行
goto
G:移到最後一行
Goto
^/0:移到該行行首
$:移到該行行尾
[數字]+G:移到第[數字]行
[數字]+Space:向右移動[數字]個字元
[數字]+Enter:向下移動[數字]行
換頁
ctrl+d:往下移動半頁
ctrl+f:往下移動一頁
ctrl+u:往上移動半頁
ctrl+b:往上移動一頁
調整視窗位置
H 移至畫面最上端
High
M 移至畫面中央處
Middle
L 移至畫面最下方
Low
單字切換
w 移至下個字串首個字元
word
W 移至下個字串首個字元(包含符號)
Word
e 移至下個字串最後一個字元
b 移至上個字串首個字元
backward
B 移至上個字串首個字元(包含符號)
Backward
f[char] 移至行內右側指定文字
find
F[char] 移至行內左側指定文字
Find
t[char] 移至行內右側指定文字前方
till
T[char] 移至行內左側指定文字前方
Till
+ 移至下個非空白字元前方
搜尋
/[字串]:向後搜尋字串
/\c[字串]:向後搜尋字串,不分大小寫
*
將錨點移到字串上
直接按*也可以做向下搜尋
?[字串]:向前搜尋字串
?\c[字串]:向前搜尋字串,不分大小寫
:setic:搜尋時不分大小寫
:setnoic:搜尋時分辨大小寫
n:繼續下一個搜尋結果
N:繼續上一個搜尋結果
取代
r:僅取代一個字元
c[movement]
取代操作子
移除對應範圍內容,並進入編輯模式
ci[text_object]
刪除[text_object]裡的內容,並進入編輯模式
ca[text_object]
刪除含[text_object]的內容,並進入編輯模式
[text_object]
w:字串
W:以空白分隔的區塊
p:段落
":""範圍中的內容
':''範圍中的內容
):()範圍中的內容
]:[]範圍中的內容
}:{}範圍中的內容
刪除
dd:刪除錨點所在行
[數字]+dd:刪除[數字]行
ddp:剪下貼上
dG:刪除錨點行起到最後一行的內容
d1G:刪除錨點行起到第一行的內容
d$:刪除錨點處到最後一個字元的內容
d0:刪除錨點處到第一個字元的內容
di[text_object]:刪除[text_object]裡的內容
da[text_object]:刪除含[text_object]的內容
標記與複製
v:開始字串標記
v -> <C+V>:開始區塊標記
V:開始行標記
於標記狀態下
d:刪除標記的內容
y:複製標記的內容
yy:複製錨點行
yyp:複製貼上
yG:複製錨點行到最後一行
y1G:複製錨點行到第一行
y$:複製錨點處至最後一個字元為止的內容
y0:複製錨點處到第一個字元為止的內容
p:在下一行貼上複製或刪除的內容
P:在上一行貼上複製或刪除的內容
<C+R> -> 0:在下一行貼上先前複製或刪除的內容
yi[text_object]:複製[text_object]裡的內容
ya[text_object]:複製含[text_object]的內容
q[trigger_key]
記錄巨集行為
@[trigger_key]
執行巨集行為
@@
重複上次執行的巨集
其它指令
J
將錨點行與下一行合併
u
還原操作
undo
Ctrl+r
重做操作
redo
Ctrl+N
自動補齊曾輸入過的單字
.
重覆上一個指令
!命令
TOhtml
會新增一個水平分割視窗
:h vimrc
查看設定檔位置
set clipboard+=unnamedplus
全文操作
選擇全文
ggVG
複製全文
ggy$
:%y
刪除全文
:%d