Vim 8.2 快速參考備忘單的有用集合,可幫助您更快地學(xué)習(xí) vim 編輯器。
▼/? 光標(biāo) ▽/? 目標(biāo)
╭┈┈┈┈┈┈┈┈┈┈┈┈┈ |
├┈┈┈┈┈┈┈┈┈┈┈┈┈ 0 $ ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈╮
┆ ╭┈┈┈┈┈┈┈┈┈┈ ^ fe ┈┈┈┈┈┈┈┈╮ ┆
┆ ┆ ╭┈┈┈┈┈┈┈ Fo te ┈┈┈┈┈┈┈╮┆ ┆
┆ ┆ ┆╭┈┈┈┈┈┈ To 30| ┈┈┈╮ ┆┆ ┆
┆ ┆ ┆┆ ╭┈┈┈┈ ge w ┈┈┈╮ ┆ ┆┆ ┆
┆ ┆ ┆┆ ┆ ╭┈┈ b e ┈╮ ┆ ┆ ┆┆ ┆
┆ ┆ ┆┆ ┆ ┆ ╭h l╮ ┆ ┆ ┆ ┆┆ ┆
▽ ▽ ▽▽ ▽ ▽ ▽▼ ▼▽ ▽ ▽ ▽ ▽▽ ▽
echo "A cheatsheet from quickReference"
- SCREEN 1 START
╭┈┬┈┈┈┈┈┈┈┈┈? #!/usr/bin/python
┆ ┆ ╭┈┈┈?
┆ ┆ ┆ print("Hello")
┆ ┆ { } ? print("Vim")
┆ ┆ ┆ print("!")
┆ ┆ └┈?
┆ ┆ ╭┈┈┈┬┈┈┈? print("Welcome")
G gg H M L k j ? print("to")
┆ ┆ └┈? print("Quick Reference")
┆ ┆ print("/vim")
┆ ┆
┆ ╰┈┈┈┈┈?
┆ - SCREEN 1 END
╰┈┈┈┈┈┈┈┈┈┈┈┈┈┈? print("SCREEN 2")
| 快捷方式 | 說明 |
|---|---|
h | j | k | l | 方向鍵 |
<C-u> / <C-d> | 上/下半頁 |
<C-b> / <C-f> | 向上/向下翻頁 |
| 快捷方式 | 說明 |
|---|---|
b / w | 上一個/下一個單詞 |
ge / e | 上一個/下一個詞尾 |
| 快捷方式 | 說明 |
|---|---|
0 (zero) / $ | 行的開始/結(jié)束 |
^ | 行開頭 (非空白) |
| 快捷方式 | 說明 |
|---|---|
Fe / fe | 移動到上一個/下一個e |
To / to | 在上一個/下一個o之前/之后移動 |
| / n| | 轉(zhuǎn)到第一個/n列 |
| 快捷方式 | 說明 |
|---|---|
gg / G | 第一行/最后一行 |
:n | nG | 轉(zhuǎn)到第 n 行 |
} / { | 下一個/上一個空行 |
| 快捷方式 | 說明 |
|---|---|
H / M / L | 上/中/下屏幕 |
zt / zz / zb | 上/中/下這條線 |
| 快捷方式 | 說明 |
|---|---|
i / a | 在光標(biāo)之前/之后插入 |
I / A | 插入行的開始/結(jié)束 |
o / O (letter) | 在下方/上方插入新行 |
s / S | 刪除字符/行并插入 |
C / cc | 更改到/當(dāng)前行的結(jié)尾 |
gi | 在最后一個插入點插入 |
Esc | <C-[> | 退出插入模式 |
| 快捷方式 | 說明 |
|---|---|
:w | 保存 |
:q | 關(guān)閉文件 |
:wq | :x | ZZ | 保存并退出 |
:wqa | 保存并退出所有文件 |
:q! | ZQ | 強制退出 |
:qa | 關(guān)閉所有文件 |
:qa! | 強制退出所有文件 |
:w new.txt | 寫入new.txt |
:sav new.txt | 保存并編輯new.txt |
:w !sudo tee % | 寫入只讀文件 |
| 快捷方式 | 說明 |
|---|---|
r | 替換一個字符 |
R | 進入替換模式 |
u / 3u | 撤消更改1/3次 |
U | 在一行上撤消更改 |
J | 加入下一行 |
<C-r> / 5 <C-r> | 重做更改1/5次 |
| 快捷方式 | 說明 |
|---|---|
x | 刪除字符 (剪切) |
p / P | 在之后/之前粘貼 |
xp | 交換兩個字符 |
D | 刪除到行尾 (剪切) |
dw | 刪除單詞 (剪切) |
dd | 刪除線 (剪切) |
ddp | 交換兩條線 |
yy | 拉線 (復(fù)制) |
"*p | "+p | 從系統(tǒng)剪貼板粘貼 |
"*y | "+y | 粘貼到系統(tǒng)剪貼板 |
| 快捷方式 | 說明 |
|---|---|
d | x | 刪除選擇 (剪切) |
s | 替換選擇 |
y | Yank 選擇 (復(fù)制) |
| 快捷方式 | 說明 |
|---|---|
. | 重復(fù)上一個命令 |
; | 重復(fù)最新的 f、t、F 或 T |
, | 重復(fù)最新的f、t、F或T顛倒 |
& | 重復(fù)最后一個:s |
@: | 重復(fù)命令行命令 |
| 快捷方式 | 說明 |
|---|---|
v | 進入可視化模式 |
V | 進入視線模式 |
<C-v> | 進入可視化阻擋模式 |
ggVG | 選擇所有文本 |
> / < | 向右/向左移動文本 |
| :- | - |
|---|---|
qi | 錄制宏 i |
q | 停止錄制宏 |
@i | 運行宏i |
7@i | 運行宏 i 7 次 |
@@ | 重復(fù)上一個宏 |
您可以為任何字母保存宏,而不僅僅是 i
| 快捷方式 | 說明 |
|---|---|
d | 刪除 |
y | Yank (復(fù)制) |
c | 更改 (刪除然后插入) |
p | 粘貼 |
= | 格式代碼 |
g~ | 切換案例 |
gU | 大寫 |
gu | 小寫 |
> | 右縮進 |
< | 左縮進 |
! | 通過外部程序過濾 |
| 組合 | 說明 |
|---|---|
d | 刪除當(dāng)前行 |
d | 刪除兩行 |
d | 刪除到下一個單詞 |
d | 刪除到單詞的開頭 |
d | 刪除直到 a 字符 |
d | 刪除直到 hello |
c | 更改當(dāng)前行,與 S 同義 |
y | 復(fù)制當(dāng)前行 |
> | 縮進 2 行 |
ggd | 刪除完整的文檔 |
gg= | 縮進一個完整的文檔 |
ggy | 復(fù)制整個文檔 |
[數(shù)字] <運算符> <動作>
<運算符> [數(shù)字] <動作>
| 組合 | 說明 |
|---|---|
2d | 刪除 2 行 |
6y | 復(fù)制 6 行 |
d3 | 刪除 3 字 |
d5 | 向下刪除 5 行 |
>4 | 向上縮進 4 行 |
| 快捷方式 | 說明 |
|---|---|
v | ? ? ? ? |
| Operator |
文本塊內(nèi)部或周圍使用 operator 進行操作
| 快捷方式 | 說明 |
|---|---|
| 段落 | |
| 單詞 | |
| WORD (被空格包圍) | |
| 句子 | |
| []、() 或 {} 塊 | |
| []、() 或 {} 塊 | |
| 帶引號的字符串 | |
| 一個塊 [( | |
| [{中的一個塊 | |
| 一個 HTML 標(biāo)簽塊 |
查看 :help text-objects
| 快捷方式 | 說明 |
|---|---|
d | 刪除內(nèi)詞 |
d | 刪除內(nèi)句 |
d | 引號中刪除 |
d | 刪除引號 (包括引號) |
d | 刪除段落 |
| 快捷方式 | 說明 |
|---|---|
v | 選擇內(nèi)引號“...{.underline}” |
v | 選擇引號"..."{.underline} |
v | 選擇內(nèi)括號 [...{.underline}] |
v | 選擇括號[...]{.underline} |
v | 選擇內(nèi)詞 |
v | 選擇內(nèi)部段落 |
v | 選擇更多段落 |
| 快捷方式 | 說明 |
|---|---|
c | 換內(nèi)字 |
c | 更改內(nèi)部引號 |
c | 更改內(nèi)部標(biāo)簽 (HTML) |
c | 更改內(nèi)部段落 |
y | Yank 段落 |
y | Yank 段落 (包括換行符) |
| :- | - |
|---|---|
:e file | 在新緩沖區(qū)中編輯文件 |
:bn | 轉(zhuǎn)到下一個緩沖區(qū) |
:bp | 轉(zhuǎn)到上一個緩沖區(qū) |
:bd | 從緩沖區(qū)列表中刪除文件 |
:b 5 | 打開緩沖區(qū) #5 |
:b file | 按文件轉(zhuǎn)到緩沖區(qū) |
:ls | 列出所有打開的緩沖區(qū) |
:sp file | 打開和拆分窗口 |
:vs file | 打開和垂直拆分窗口 |
:hid | 隱藏此緩沖區(qū) |
:wn | 寫入文件并移至下一個 |
:tab ba | 將所有緩沖區(qū)編輯為選項卡 |
| :- | - |
|---|---|
<C-w> s | 拆分窗口 |
<C-w> v | 垂直拆分窗口 |
<C-w> w | 切換窗口 |
<C-w> q | 退出一個窗口 |
<C-w> T | 拆分成一個新標(biāo)簽 |
<C-w> x | 用下一個交換當(dāng)前 |
<C-w> - / + | 減少/增加高度 |
<C-w> < / > | 減少/增加寬度 |
<C-w> | | 最大寬度 |
<C-w> = | 同樣高和寬 |
<C-w> h / l | 轉(zhuǎn)到左/右窗口 |
<C-w> j / k | 轉(zhuǎn)到上/下窗口 |
| 快捷方式 | 說明 |
|---|---|
:tabe [file] | |
:tabf [file] | 如果在新選項卡中存在則打開 |
:tabc | |
:tabo | 關(guān)閉 |
:tabs | 列出所有 |
:tabr | 轉(zhuǎn)到第一個 |
:tabl | 轉(zhuǎn)到 |
:tabm 0 | 0 |
:tabn | 轉(zhuǎn)到 |
:tabp | 轉(zhuǎn)到 |
| 快捷方式 | 說明 |
|---|---|
gt | 轉(zhuǎn)到 |
gT | 轉(zhuǎn)到 |
2gt | 轉(zhuǎn)到標(biāo)簽編號 2 |
| :- | - |
|---|---|
/foo | 向前搜索 |
/foo\c | 向前搜索 (不區(qū)分大小寫) |
?foo | 向后搜索 |
/\v\d+ | 使用 regex 搜索 |
n | 下一個匹配的搜索模式 |
N | 上一個匹配的搜索 |
* | 向前搜索當(dāng)前單詞 |
# | 向后搜索當(dāng)前單詞 |
:[range]s/{pattern}/{str}/[flags]
| :- | - |
|---|---|
:s/old/new | 先更換 |
:s/old/new/g | 全部替換 |
:s/\vold/new/g | 全部替換為 regex |
:s/old/new/gc | 全部替換_(確認)_ |
:s/old/new/i | 先忽略大小寫替換 |
:2,6s/old/new/g | 在 2-6 行之間替換 |
:%s/{pattern}/{str}/[flags]
| :- | - |
|---|---|
:%s/old/new | 先更換 |
:%s/old/new/g | 全部替換 |
:%s/old/new/gc | 全部替換 (確認) |
:%s/old/new/gi | 全部替換 (忽略大小寫) |
:%s/\vold/new/g | 全部替換為 regex |
| :- | - |
|---|---|
% | 整個文件 |
’<,’> | 當(dāng)前選擇 |
5 | 第 5 行 |
5,10 | 第 5 行到第 10 行 |
$ | 最后一行 |
2,$ | 第 2 行到最后 |
. | 當(dāng)前行 |
,3 | 接下來的 3 行 |
-3, | 轉(zhuǎn)發(fā) 3 行 |
:[range]g/{pattern}/[command]
| :- | - |
|---|---|
:g/foo/d | 刪除包含 foo 的行 |
:g!/foo/d | 刪除不包含 foo 的行 |
:g/^\s*$/d | 刪除所有空行 |
:g/foo/t$ | 將包含 foo 的行復(fù)制到 EOF |
:g/foo/m$ | 將包含 foo 的行移動到 EOF |
:g/^/m0 | 反轉(zhuǎn)文件 |
:g/^/t. | 復(fù)制每一行 |
:[range]v/{pattern}/[command]
| :- | - |
|---|---|
:v/foo/d | 刪除不包含foo的行 (還有 :g!/foo/d) |
| :- | - |
|---|---|
g | 替換所有出現(xiàn) |
i | 忽略大小寫 |
I | 不要忽略大小寫 |
c | 確認每個替換 |
| :- | - |
|---|---|
& | \0 | 替換為整個匹配的 |
\1...\9 | 替換為 0-9 組 |
\u | 大寫下一個字母 |
\U | 后面的大寫字符 |
\l | 小寫下一個字母 |
\L | 后面的字符小寫 |
\e | \u、\U、\l 和 \L 的結(jié)尾 |
\E | \u、\U、\l 和 \L 的結(jié)尾 |
:s/a\|b/xxx\0xxx/g # 將 "a b" 修改為 "xxxaxxx xxxbxxx"
:s/test/\U& file/ # 將 "test" 修改為 "TEST FILE"
:s/\(test\)/\U\1\e file/ # 將 "test" 修改為 "TEST file"
:s/\v([abc])([efg])/\2\1/g # 將 "af fa bg" 修改為 "fa fa gb"
:s/\v\w+/\u\0/g # 將 "bla bla" 修改為 "Bla Bla"
:s/\v([ab])|([cd])/\1x/g # 將 "a b c d" 修改為 "ax bx x x"
:%s/.*/\L&/ # 將 "HTML" 修改為 "html"
:s/\v<(.)(\w*)/\u\1\L\2/g # 將單詞的每個首字母大寫
:%s/^\(.*\)\n\1/\1/ # 刪除重復(fù)行
:%s/<\/\=\(\w\+\)\>/\U&/g # 將 HTML 標(biāo)記轉(zhuǎn)換為大寫
:g/^pattern/s/$/mytext # 查找文本并將其附加到末尾
:g/pattern/norm! @i # 在匹配行上運行宏
/^\(.*\)\(\r\?\n\1\)\+$ # 查看重復(fù)行
/\v^(.*)(\r?\n\1)+$ # 查看重復(fù)行(非常神奇)
:v/./,/./-j # 將空行壓縮成空行
:g/<p1>/,/<p2>/d # 從 <p1> 到 <p2> 包含刪除
$ vimdiff file1 file2 [file3]
$ vim -d file1 file2 [file3]
:[range]diffget [bufspec]
:[range]diffput [bufspec]
| 快捷方式 | 說明 |
|---|---|
do / :diffget | 獲取(get)差異 |
dp / :diffput | 放差價 |
:dif | 重新掃描差異 |
:diffo | 關(guān)閉差異模式 |
:1,$+1diffget | 獲取所有差異 |
ZQ | 不做改動就退出 |
請參閱:范圍
| 快捷方式 | 說明 |
|---|---|
zo / zO | 打開 |
zc / zC | 關(guān) |
za / zA | 切換 |
zv | 這條線的打開折疊 |
zM | 關(guān)閉所有 |
zR | 打開所有 |
zm | 折疊更多 (折疊級別 += 1) |
zr | 少折疊 (折疊級別 -= 1) |
zx | 更新折疊 |
| 快捷方式 | 說明 |
|---|---|
]c | 下一個區(qū)別 |
[c | 以前的區(qū)別 |
| 快捷方式 | 說明 |
|---|---|
vU | 大寫 字母 |
vu | 小寫 字符 |
~ | 切換案例 字符 |
viw U | 大寫 字 |
viw u | 小寫 字 |
viw ~ | 切換案例 字 |
VU / gUU | 大寫 行 |
Vu / guu | 小寫 行 |
V~ / g~~ | 切換案例 線 |
gggUG | 大寫 所有文本 |
ggguG | 小寫 所有文本 |
ggg~G | 切換大小寫 所有文本 |
| 快捷方式 | 說明 |
|---|---|
<C-o> | 返回上一個 |
<C-i> | 向前 |
gf | 轉(zhuǎn)到光標(biāo)中的文件 |
ga | 顯示十六進制、ASCII值 |
| :- | - |
|---|---|
:h | 幫助打開幫助視圖 |
:edit! | 重新加載當(dāng)前文件 |
:2,8m0 | 將行 2-8 移動到 0 |
:noh | 清除搜索亮點 |
:sort | 排序行 |
:ter | 打開終端窗口 |
:set paste | 啟用插入粘貼子模式 |
:set nopaste | 禁用插入粘貼子模式 |
:cq | 退出并出現(xiàn)錯誤 (正在中止 Git) |
| 快捷方式 | 說明 |
|---|---|
% | 最近/匹配的{[()]} |
[( | [{ | 上一個 ( 或 { |
]) | ]{ | 下一個)或} |
[m | 上一個方法開始 |
[M | 上一個方法結(jié)束 |
| 快捷方式 | 說明 |
|---|---|
<C-a> | 增加數(shù)量 |
<C-x> | 減少數(shù)量 |
| 快捷方式 | 說明 |
|---|---|
:tag Classname | 跳轉(zhuǎn)到 Classname 的第一個定義 |
<C-]> | 跳轉(zhuǎn)到定義 |
g] | 查看所有定義 |
<C-t> | 回到最后一個標(biāo)簽 |
<C-o> <C-i> | 后退前進 |
:tselect Classname | 查找類名的定義 |
:tjump Classname | 查找類名的定義 (自動選擇第一個) |
| :- | - |
|---|---|
:ce 8 | 8 列之間的中心線 |
:ri 4 | 在 4 列右對齊行 |
:le | 左對齊線 |
查看 :help formatting
| 快捷方式 | 說明 |
|---|---|
`^ | 插入模式下光標(biāo)的最后位置 |
`. | 當(dāng)前緩沖區(qū)的最后更改 |
`" | 最后退出的當(dāng)前緩沖區(qū) |
`0 | 在上次編輯的文件中 |
'' | 返回當(dāng)前緩沖區(qū)中跳出的行 |
`` | 返回當(dāng)前緩沖區(qū)中跳轉(zhuǎn)的位置 |
`[ | 到先前更改或拉出的文本的開頭 |
`] | 到之前更改或拉出的文本的結(jié)尾 |
`< | 到最后一個可視化選擇的開始 |
`> | 到最后一個可視化選擇的結(jié)尾 |
ma | 將此光標(biāo)位置標(biāo)記為a |
`a | 跳轉(zhuǎn)到光標(biāo)位置a |
'a | 跳轉(zhuǎn)到位置為 a 的行首 |
d'a | 從當(dāng)前行刪除到標(biāo)記 a 的行 |
d`a | 從當(dāng)前位置刪除到標(biāo)記 a 的位置 |
c'a | 將文本從當(dāng)前行更改為 a 行 |
y`a | 將文本從當(dāng)前位置拉到 a 的位置 |
:marks | 列出所有當(dāng)前標(biāo)記 |
:delm a | 刪除標(biāo)記a |
:delm a-d | 刪除標(biāo)記a、b、c、d |
:delm abc | 刪除標(biāo)記a、b、c |
| 快捷方式 | 說明 |
|---|---|
<C-r> = 7*7 | 顯示結(jié)果 |
<C-r> = 10/2 | 顯示結(jié)果 |
在 INSERT 模式下執(zhí)行此操作
| :- | - |
|---|---|
:!<shell> | 解釋 Shell 命令 |
:r!<shell> | 讀入shell的輸出 |
:r!date | 插入日期 |
:!!date | 用日期替換當(dāng)前行 |
| 快捷方式 | 說明 |
|---|---|
<C-r><C-w> | 將當(dāng)前單詞插入命令行 |
<C-r>" | 從 注冊 粘貼 |
<C-x><C-f> | 在插入模式下自動完成路徑 |
刪除重復(fù)行
:sort | %!uniq -u
對文件中的行進行編號
:%!cat -n
將整個文檔復(fù)制到剪貼板
:%w !pbcopy # Mac OS X
:%w !xclip -i -sel c # GNU/Linux
:%w !xsel -i -b # GNU/Linux
d # 表示刪除delete
r # 表示替換replace
c # 表示修改change
y # 表示復(fù)制yank
v # 表示選取visual select
動詞代表了我們打算對文本進行什么樣的操作
w # 表示一個單詞word
s # 表示一個句子sentence
p # 表示一個段落paragraph
t # 表示一個 HTML 標(biāo)簽tag
名詞代表了我們即將處理的文本。引號或者各種括號所包含的文本稱作一個文本塊。
i # 表示在...之內(nèi) inside
a # 表示環(huán)繞... around
t # 表示到...位置前 to
f # 表示到...位置上 forward
介詞界定了待編輯文本的范圍或者位置。
數(shù)詞指定了待編輯文本對象的數(shù)量,從這個角度而言,數(shù)詞也可以看作是一種介詞。引入數(shù)詞之后,文本編輯命令的語法就升級成了下面這樣:
動詞 介詞/數(shù)詞 名詞
下面是幾個例子:
c3w # 修改三個單詞:change three words
d2w # 刪除兩個單詞:delete two words
另外,數(shù)詞也可以修飾動詞,表示將操作執(zhí)行 n 次。于是,我們又有了下面的語法:
數(shù)詞 動詞 名詞
示例
2dw # 兩次刪除單詞(等價于刪除兩個單詞): twice delete word
3x # 三次刪除字符(等價于刪除三個字符): three times delete character
有了這些基本的語言元素,我們就可以著手構(gòu)造一些簡單的命令了。文本編輯命令的基本語法如下:
動詞 介詞 名詞
下面是一些例子
dip # 刪除一個段落: delete inside paragraph
vis # 選取一個句子: visual select inside sentence
ciw # 修改一個單詞: change inside word
caw # 修改一個單詞: change around word
dtx # 刪除文本直到字符“x”(不包括字符“x”): delete to x
dfx # 刪除文本直到字符“x”(包括字符“x”): delete forward x
感谢您访问我们的网站,您可能还对以下资源感兴趣:
国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片