干货 | Vim Cheat Sheet快捷键汇总
全局
-
:help keyword?- 打開關(guān)鍵字幫助
-
:saveas file?- 另存為
-
:close?- 關(guān)閉當(dāng)前窗口
-
K?- open man page for word under the cursor
光標(biāo)
-
h?- 左移光標(biāo)
-
j?- 下移光標(biāo)
-
k?- 上移光標(biāo)
-
l?- 右移光標(biāo)
-
H?- 移動到當(dāng)前頁面頂部
-
M?- 移動到當(dāng)前頁面中間
-
L?- 移動到當(dāng)前頁面底部
-
w?- 移動到下個單詞開頭
-
W?- 移動到下個單詞開頭(單詞含標(biāo)點)
-
e?- 移動到下個單詞結(jié)尾
-
E?- 移動到下個單詞結(jié)尾(單詞含標(biāo)點)
-
b?- 移動到上個單詞結(jié)尾
-
B?- 移動到上個單詞結(jié)尾(單詞含標(biāo)點)
-
%?- move to matching character (default supported pairs: '()', '{}', '[]' - use?:h matchpairs?in vim for more info)
-
0?- 移動到行首
-
^?- 移動到行首的非空白符
-
$?- 移動到行尾
-
g_?- 移動到行內(nèi)最后一個非空白符
-
gg?- 移動到文件第一行
-
G?- 移動到文件最后一行
-
5G?- 移動到第五行
-
fx?- 移動到字符 x 下次出現(xiàn)的位置
-
tx?- 移動到字符 x 下次出現(xiàn)的位置的前一個字符
-
Fx?- jump to previous occurence of character x
-
Tx?- jump to after previous occurence of character x
-
;?- repeat previous f, t, F or T movement
-
,?- repeat previous f, t, F or T movement, backwards
-
}?- 移動到下一個段落 (當(dāng)編輯代碼時則為函數(shù)/代碼塊)
-
{?- 移動到上一個段落 (當(dāng)編輯代碼時則為函數(shù)/代碼塊)
-
zz?- 移動屏幕使光標(biāo)居中
-
Ctrl?+?e?- move screen down one line (without moving cursor)
-
Ctrl?+?y?- move screen up one line (without moving cursor)
-
Ctrl?+?b?- 向后滾動一屏
-
Ctrl?+?f?- 向前滾動一屏
-
Ctrl?+?d?- 向前滾動半屏
-
Ctrl?+?u?- 向后滾動半屏
Tip?命令前追加數(shù)字表示命令的重復(fù)次數(shù), 比如?4j?表示向下移動四行
插入模式 - 插入/追加文本
-
i?- 從光標(biāo)前開始插入字符
-
I?- 從行首開始插入字符
-
a?- 從光標(biāo)后開始插入字符
-
A?- 從行尾開始插入字符
-
o?- 在當(dāng)前行之下另起一行, 開始插入字符
-
O?- 在當(dāng)前行之上另起一行, 開始插入字符
-
ea?- 從當(dāng)前單詞末尾開始插入
-
Esc?- 退出插入模式
編輯
-
r?- 替換當(dāng)前字符
-
J?- 將下一行合并到當(dāng)前行
-
gJ?- join line below to the current one without space in between
-
gwip?- reflow paragraph
-
cc?- 清空當(dāng)前行, 然后進入插入模式
-
c$?- 從光標(biāo)位置開始, 修改當(dāng)前行
-
ciw?- change (replace) entire word
-
cw?- 從光標(biāo)位置開始, 修改單詞
-
s?- 刪除當(dāng)前字符, 然后進入插入模式
-
S?- 清空當(dāng)前行, 然后進入插入模式 (同cc)
-
xp?- 當(dāng)前字符后移
-
u?- 撤銷
-
Ctrl?+?r?- 重復(fù)
-
.?- 再次執(zhí)行上個命令
選擇文本(可視化模式)
-
v?- 進入可視化模式, 移動光標(biāo)高亮選擇, 然后可以對選擇的文本執(zhí)行命令(比如y-復(fù)制)
-
V?- 進入可視化模式(行粒度選擇)
-
o?- 切換光標(biāo)到選擇區(qū)開頭/結(jié)尾
-
Ctrl?+?v?- 進入可視化模式(矩陣選擇)
-
O?- 切換光標(biāo)到選擇區(qū)的角
-
aw?- 選擇當(dāng)前單詞
-
ab?- 選擇被 () 包裹的區(qū)域(含括號)
-
aB?- 選擇被 {} 包裹的區(qū)域(含花括號)
-
ib?- 選擇被 () 包裹的區(qū)域(不含括號)
-
iB?- 選擇被 {} 包裹的區(qū)域(不含花括號)
-
Esc?- 退出可視化模式
可視化模式命令
-
>?- 向右縮進
-
<?- 向左縮進
-
y?- 復(fù)制
-
d?- 剪切
-
~?- 大小寫切換
寄存器
-
:reg?- 顯示寄存器內(nèi)容
-
"xy?- 復(fù)制內(nèi)容到寄存器 x
-
"xp?- 粘貼寄存器 x 中的內(nèi)容
Tip?寄存器被存儲在 ~/.viminfo 中, 在下次重啟vim時仍會加載
Tip?寄存器 0 存儲上一次復(fù)制的值
標(biāo)記
-
:marks?- 標(biāo)記列表
-
ma?- 設(shè)置當(dāng)前位置為標(biāo)記 a
-
`a?- 跳轉(zhuǎn)到標(biāo)記 a 的位置
-
y`a?- 復(fù)制當(dāng)前位置到標(biāo)記 a 的內(nèi)容
宏
-
qa?- 錄制宏 a
-
q?- 停止錄制宏
-
@a?- 執(zhí)行宏 a
-
@@?- 重新執(zhí)行上次執(zhí)行的宏
剪切, 復(fù)制, 粘貼
-
yy?- 復(fù)制當(dāng)前行
-
2yy?- 復(fù)制 2 行
-
yw?- 復(fù)制當(dāng)前單詞
-
y$?- 復(fù)制, 從光標(biāo)位置到行末
-
p?- 在光標(biāo)后粘貼
-
P?- 在光標(biāo)前粘貼
-
dd?- 剪切當(dāng)前行
-
2dd?- 剪切 2 行
-
dw?- 剪切當(dāng)前單詞
-
D?- 剪切, 從光標(biāo)位置到行末
-
d$?- 剪切, 從光標(biāo)位置到行末 (同D)
-
x?- 剪切當(dāng)前字符
退出
-
:w?- 保存
-
:w !sudo tee %?- 使用 sudo 保存當(dāng)前文件
-
:wq?or?:x?or?ZZ?- 保存并退出
-
:q?- 退出(修改未保存時警告)
-
:q!?or?ZQ?- 不保存強制退出
-
:wqa?- write (save) and quit on all tabs
查找/替換
-
/pattern?- 查找pattern
-
?pattern?- 向上查找pattern
-
\vpattern?-?pattern?中的非字母數(shù)字字符被視為正則表達式特殊字符 (不需轉(zhuǎn)義字符)
-
n?- 查找下一個
-
N?- 查找上一個
-
:%s/old/new/g?- 替換全部
-
:%s/old/new/gc?- (逐個)替換
-
:noh?- 移除搜索結(jié)果的高亮顯示
多文件搜索
-
:vimgrep /pattern/ {file}?- 在多個文件中搜索?pattern
e.g.?:vimgrep /foo/ **/*
-
:cn?- 移動至下一個
-
:cp?- 移動至上一個
-
:copen?- 打開搜索結(jié)果列表
多文件
-
:e file?- 新建緩沖區(qū)打開 filename
-
:bnext?or?:bn?- 切換到下個緩沖區(qū)
-
:bprev?or?:bp?- 切換到上個緩沖區(qū)
-
:bd?- 關(guān)閉緩沖區(qū)
-
:ls?- 列出所有打開的緩沖區(qū)
-
:sp file?- 新建緩沖區(qū)打開 filename 并水平分割窗口
-
:vsp file?- 新緩沖區(qū)打開 filename 并垂直分割窗口
-
Ctrl?+?ws?- 水平分割窗口
-
Ctrl?+?ww?- 在窗口間切換
-
Ctrl?+?wq?- 關(guān)閉窗口
-
Ctrl?+?wv?- 垂直分割窗口
-
Ctrl?+?wh?- 切換到右側(cè)窗口
-
Ctrl?+?wl?- 切換到左側(cè)窗口
-
Ctrl?+?wj?- 切換到下側(cè)窗口
-
Ctrl?+?wk?- 切換到上側(cè)窗口
?
總結(jié)
以上是生活随笔為你收集整理的干货 | Vim Cheat Sheet快捷键汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【干货】这10个Liunx命令能提高50
- 下一篇: 【基础】防火墙接口类型全介绍