Cheet Sheet
一元媚、命令模式
1.1 光標(biāo)
G 文件最后一行? ? ? ? ? ? num+G 第n行????????gg 文件第一行
L 本頁(yè)最后一行? ? ? ? ? ? ?M 本頁(yè)中部????????????H? 本頁(yè)第一行
num+$? end n行尾? ? ? ? 零 home 行首? ? ? ? ? ? ? ? ? ? ? ? ??
ctrl+b? pageup? ? ? ? ? ? ? ?ctrl+f pagedown
w 下詞開(kāi)頭? ? ? ? ? ? ? ? ? ? e 下詞結(jié)尾? ? ? ? ? ? ?b 上詞結(jié)尾
1.2 插入
I?-?從行首開(kāi)始插入字符????????????A?-?從行尾開(kāi)始插入字符
o?-?下一行開(kāi)始插入字符? ? ? ? ? ?O?-?上一行開(kāi)始插入字符
1.3 分屏
Ctrl+w? v? ( : vs)+ 新文件名? 垂直分割窗口鳍咱。先同時(shí)按ctrl和w,再按v
Ctrl+w? s? ( : sv)+ 新文件名? 水平分割窗口
Ctrl+w? w (方向鍵)? ? ? ? ? ? ? ? 在窗口間切換
Ctrl+w? q (c)? ? ? ? ? ? ? ? ? ? ? ? ? 關(guān)閉窗口
Ctrl+w? H(JKL)? ? ? ? ? ? ? ? ? ? ? 調(diào)整當(dāng)前窗口的位置
Ctrl+w? +( < >)? ? ? ? ? ? ? ? ? ? ? 調(diào)整當(dāng)前窗口的大小
1.4 復(fù)制粘貼
num+yy? 復(fù)制n行
p? ? ? ? ? ? ?光標(biāo)后粘貼
yw? ? ? ? ? ?復(fù)制單詞
y$? ? ? ? ? ? 復(fù)制到行末
1.5 刪除剪切
num+dd? ? ? ? 剪切n行
dw? ? ? ? ? ? ? ? 剪切單詞
d$(D)? ? ? ?剪切到行末
x? ? ? ? ? ? ? ? ? ?剪切當(dāng)前字符??
s? ? ? ? ? ? ? ? ? ?刪除當(dāng)前字符
r? ? ? ? ? ? ? ? ? ? 替換當(dāng)前字符
cc(S)? ? ? ? 清空當(dāng)前行
dG? ? ? ? ? ? ? ? 清除所有內(nèi)容
1.6 可視化
v? ? ? ? ? ? 進(jìn)入可視化
V? ? ? ? ? ?行可視化
Ctrl+V? ? 塊可視化
進(jìn)入可視化模式后
ab ?? 光標(biāo)所在 ( ) 的區(qū)域(含括號(hào))
aB ?? 光標(biāo)所在?{ } 包裹的區(qū)域(含花括號(hào))
ib ? ? 光標(biāo)所在?( ) 包裹的區(qū)域(不含括號(hào))
iB ? ? 光標(biāo)所在?{ } 包裹的區(qū)域(不含花括號(hào))
> ? ?? 選中區(qū)域向右縮進(jìn)
< ? ?? 選中區(qū)域向左縮進(jìn)
y ? ?? 選中區(qū)域復(fù)制
d ? ?? 選中區(qū)域剪切
1.7 查找替換
/pattern ? ? 查找pattern
?pattern ?? 向上查找pattern
\vpattern ?? pattern 中的非字母數(shù)字字符被視為正則表達(dá)式特殊字符 (不需轉(zhuǎn)義字符)
n ? ? ? ? ? ? ?? 查找下一個(gè)
N ? ? ? ? ? ? ?? 查找上一個(gè)
:%s/old/new/g ?? 替換全部
:%s/old/new/gc ? (逐個(gè))替換
1.8 標(biāo)記
ma????????????設(shè)置當(dāng)前位置為標(biāo)記 a
`a????????????? 跳轉(zhuǎn)到標(biāo)記 a 的位置
1.9 退出
:w !sudo tee %????????? 使用 sudo 保存當(dāng)前文件
w: 表示保存文件? ? @鞯: 表示執(zhí)行外部命令? ? tee: linux命令,這個(gè)有點(diǎn)復(fù)雜免猾,可以查看linux命令幫助
%: 在執(zhí)行外部命令時(shí)互站,%會(huì)擴(kuò)展成當(dāng)前文件名汁展;這個(gè)%區(qū)別于替換時(shí)的%鹊碍,替換時(shí)%的意義是代表整個(gè)文件厌殉,而不是文件名
上述方式非常完美的解決了不能保存只讀文件的問(wèn)題,但畢竟命令還是有些長(zhǎng)侈咕,為了避免每次輸入一長(zhǎng)串的命令公罕,可以將它映射為一個(gè)簡(jiǎn)單的命令加到 .vimrc 中
?cmap w!! w !sudo tee > /dev/null %
二、快捷使用
2.1 增加注釋
Ctrl+v? ?塊可視化
選擇區(qū)域
大寫(xiě)I? ? ?行首開(kāi)始插入
//? ? ? ? ? ? 添加注釋
esc esc? 兩次esc
2.2 取消注釋
Ctrl + v?進(jìn)入塊選擇模式
選中?//
d? ? ?刪除注釋
ESC?保存退出
2.3 縮進(jìn)
Ctrl+v? ??
選中區(qū)域
shift+>