a #當(dāng)前字符后添加
A #行尾添加文本
o #光標(biāo)下方開始一個新行
O #光標(biāo)上方開始一個新行
ZZ #保存并退出
zz #當(dāng)前行與光標(biāo)一起移到窗口中間
w #光標(biāo)移至下一個單詞的詞首语婴,W 的作用與 w 相同但以空格作為單詞的分隔
e #光標(biāo)移至下一個單詞的詞尾淫奔,E 的作用與 e 相同但以空格作為單詞的分隔
b #光標(biāo)移至前一個單詞的詞首贱纠,B 的作用與 b 相同但以空格作為單詞的分隔
ge #光標(biāo)移至前一個單詞的詞尾
$ #光標(biāo)至行尾
0 #行首
^ #行首第一個非空字符
fx #向前查找本行中的字符 x
Fx #向左查找本行中的字符 x
tx #與 fx 相似媳溺,只是光標(biāo)會移到目標(biāo)字符的前
Tx #與 Fx 相似,只是光標(biāo)會移到目標(biāo)字符的前
#以上四個命令執(zhí)行后可以使用";"重復(fù)向前查找策菜,","則用于反向查找
% #向前找到第一個括號字符劣光,或者匹配對應(yīng)的一對括號
G #移至文件最后一行
gg #移至文件第一行
1G #移至文件第一行
50G #移至第50行
50% #移至文件的50%處亭引,也就是中間的位置
H #移至當(dāng)前窗口文本的最頂端
M #移至當(dāng)前窗口文本的中間
L #移至當(dāng)前窗口文本的最下方
^U #向上滾動半屏
^D #向下滾動半屏
^E #上滾一行
^Y #下滾一行
^F #向下翻頁
^B #向上翻頁
zz #光標(biāo)所在行移至窗口中間
zt #光標(biāo)所在行移至窗口頂端
zb #光標(biāo)所在行移至窗口底端
/str #查找單詞"str"
?str #反向查找單詞"str"
#以上兩個命令執(zhí)行后可使用 n 或者 N 正向或反向查找下一個匹配的字符串
/str> #查找以"str"結(jié)尾的單詞
/<str #查找以"str"開頭的單詞
* #取得當(dāng)前光標(biāo)上的單詞贞岭,并向前查找匹配的字符串
# #取得當(dāng)前光標(biāo)上的單詞八毯,并反向查找匹配的字符串
`` #使用類似"G"這樣的移動命令時搓侄,會有標(biāo)記留下,本命令可以回到原來的地方
'' #功能同上
^O #跳到一個較老的地方
^I #跳到一個較新的地方
ma #在當(dāng)前位置作標(biāo)記话速,a可以是字母a~z
`a #跳到標(biāo)記a處
'a #跳到標(biāo)記a所在行的行首
:marks #列出所有標(biāo)記
cw #刪除一個詞讶踪,切換至插入模式
cc #修改一整行
x #刪除當(dāng)前光標(biāo)下的字符
dl #刪除當(dāng)前光標(biāo)下的字符
X #刪除當(dāng)前光標(biāo)前的字符
dh #刪除當(dāng)前光標(biāo)前的字符
C #修改至行尾
c$ #修改至行尾
s #修改一個字符
cl #修改一個字符
S #修改一整行
cc #修改一整行
r #替換單個字符
. #重復(fù)最后一次的修改操作
d0 #刪至行首
d$ #刪至行尾
u #撤銷
U #撤銷一整行的修改
^u #刪除輸入方式下所輸入的文本
J #把下一行合并到當(dāng)前行尾
v #啟動可視模式,選擇文本
V #啟動可視模式泊交,按行選擇文本
^V #啟動可視模式乳讥,按區(qū)塊選擇文本
aw #可視模式下選擇單詞
iw #可視模式下選擇單詞(無空格)
as #可視模式下選擇句子
is #可視模式下選擇句子(無空格)
ap #可視模式下選擇段落
ip #可視模式下選擇段落(無空格)
o #可視模式下轉(zhuǎn)到可視區(qū)域另一端
p #粘貼文本
P #與p類似,只是插入的方向相反
xp #交換兩個字符廓俭,當(dāng)前光標(biāo)下以及下一個
ddp #上下兩行調(diào)換
y #拷貝文本云石,常見組合命令:yw, ye, y$等
yy #拷貝一整行
Y #拷貝一整行,同上
"yy #拷貝當(dāng)前行至剪貼板
"p #從剪貼板粘貼
R #進入替換模式
~ #改變光標(biāo)下字符的大小寫
I #稱到當(dāng)前行的第一個非空字符并啟動插入模式
A #移到行尾啟動插入模式
daw 光標(biāo)位于單詞中間位置研乒,使用本命令可以刪除整個單詞
dl #刪除當(dāng)前字符(與x命令功能相同)
d0 #刪除到某一行的開始位置
d^ #刪除到某一行的第一個字符位置(不包括空格或TAB字符)
dw #刪除到某個單詞的結(jié)尾位置
d3w #刪除到第三個單詞的結(jié)尾位置
db #刪除到某個單詞的開始位置
dW #刪除到某個以空格作為分隔符的單詞的結(jié)尾位置
dB #刪除到某個以空格作為分隔符的單詞的開始位置
d7B #刪除到前面7個以空格作為分隔符的單詞的開始位置
d) #刪除到某個語句的結(jié)尾位置
d4) #刪除到第四個語句的結(jié)尾位置
d( #刪除到某個語句的開始位置
d} #刪除到某個段落的結(jié)尾位置
d{ #刪除到某個段落的開始位置
d7{ #刪除到當(dāng)前段落起始位置之前的第7個段落位置
dd #刪除當(dāng)前行
d/text #刪除到文本中出現(xiàn) text 所指定的位置前面
dfc #刪除到文本中出現(xiàn)字符 c 的位置前面
dtc #刪除當(dāng)前行直到下一個字符“c”所出現(xiàn)位置之間的內(nèi)容
D #刪除到某一行的結(jié)尾
d$ #刪除到某一行的結(jié)尾
5dd #刪除從當(dāng)前行所開始的5行內(nèi)容
dL #刪除直到屏幕上最后一行的內(nèi)容
dH #刪除直到屏幕上第一行的內(nèi)容
dG #刪除直到工作緩存區(qū)結(jié)尾的內(nèi)容
d1G #刪除直到工作緩存區(qū)開始的內(nèi)容
dgg #刪除直到工作緩存區(qū)開始的內(nèi)容
qq010lDjq + 9999@q #保留每一行的前10個字符
:%s/^(.{10}).$/\1/g #保留每一行的前10個字符
:%s/^.{10}// #刪除每一行前10個字符
:%s/^(.{9}).$/\1/g #刪除每一行前10個字符
:11,12m13 #移動11-12行(包括11,12)到13行之下
:11,12co13 #復(fù)制11-12行(包括11,12)到13行之下
:11,12d #刪除11-12行(包括11,12)行
:.,$d #刪除當(dāng)前行到最后一行
:s/str1/str2/ #用字符串 str2 替換當(dāng)前行中首次出現(xiàn)的字符串 str1
:s/str1/str2/g #用字符串 str2 替換當(dāng)前行中所有出現(xiàn)的字符串 str1
:s/str1/str2/gi #用字符串 str2 替換當(dāng)前行中所有出現(xiàn)的字符串 str1留晚,在查找時不區(qū)分大小寫
:%s#/usr/bin#/bin#g #把正文中所有 /usr/bin 換成 /bin,其中#是轉(zhuǎn)義字符告嘲,表明其后的/字符是具有實際意義的字符,不再是分隔符
:.,$s/str1/str2/g #用字符串 str2 替換正文當(dāng)前行到末尾所有出現(xiàn)的字符串 str1
:1,$s/str1/str2/g #用字符串 str2 替換正文中所有出現(xiàn)的字符串 str1
:g/str1/s//str2/g #用字符串 str2 替換正文中所有出現(xiàn)的字符串 str1
:%s/str1/str2/g #用字符串 str2 替換正文中所有出現(xiàn)的字符串 str1
:g/str1/s/str2/str3/g #將所有包含 str1 的行里面的 str2 替換為 str3
:%s/str1/str2/gc #用字符串 str2 替換正文中所有出現(xiàn)的字符串 str1 并讓用戶確認(rèn)
:10,20s/^/#/ #將第10行至第20行的最前面插入#
:%s/$/str/g #在整個文件每一行的行尾添加 str
:%s/:.//g #刪除所有行從冒號開始直到行尾的所有部分
:%s/\s+$// #刪除所有行尾空白
:%s/ $// #刪除行尾空格
:g/(foo)(bar)/s/\2/\1baz/g #將foobar替換成foobaz
:s/[^]$// #把最后一個包括這個后面的所有字符去掉
:0,$d #刪除所有內(nèi)容
ggdG #刪除所有內(nèi)容
%s/^M//g #刪除dos換行奖地,命令中的 ^M = Ctrl v + Ctrl m
:%s/%u3000//g #刪除全角空格
:g/^(.)$\n\1$/d #刪除重復(fù)行
:g!/str/d #刪除不含字符串 str 的行
:v/str/d #刪除不含字符串 str 的行
:g/str1/,/str2/d #刪除第一個含str1到第一個含str2之間的行
:v/./.,/./-1join #多個空行壓縮為一個空行
:g/^$/,/./-j #多個空行壓縮為一個空行
:g/^\s*$/d #刪除所有空行橄唬,包括含空白字符的行
:g/^$/d #刪除所有空行
:set ignorecase #忽略大小寫
:w !sudo tee % #使用 root 權(quán)限保存,%表示當(dāng)前編輯文件的文件路徑
vi常用命令
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門欢峰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來葬荷,“玉大人,你說我怎么就攤上這事纽帖〕桎觯” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵懊直,是天一觀的道長扒吁。 經(jīng)常有香客問我,道長室囊,這世上最難降的妖魔是什么雕崩? 我笑而不...
- 正文 為了忘掉前任魁索,我火速辦了婚禮,結(jié)果婚禮上晨逝,老公的妹妹穿的比我還像新娘蛾默。我一直安慰自己,他們只是感情好捉貌,可當(dāng)我...
- 文/花漫 我一把揭開白布支鸡。 她就那樣靜靜地躺著,像睡著了一般趁窃。 火紅的嫁衣襯著肌膚如雪牧挣。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼呻征,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了罢浇?” 一聲冷哼從身側(cè)響起陆赋,我...
- 正文 年R本政府宣布案怯,位于F島的核電站君旦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜金砍,卻給世界環(huán)境...
- 文/蒙蒙 一局蚀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恕稠,春花似錦琅绅、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至骆捧,卻和暖如春澎羞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背敛苇。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 進入vi的命令 vi filename :打開或新建文件棍厂,并將光標(biāo)置于第一行首 vi +n filename :打...
- 分清善與惡: 尊重別人: 轉(zhuǎn)換角度: 寬容別人: 要有勇氣: 對待平等: 教養(yǎng): (本文部分內(nèi)容參考《殺死一只知更...