-
- 命令的記錄和回放
-
- 操作步驟:
-
q{register}
命令:將后續(xù)的動作記錄到名為{register}
的寄存器中,其中給出的寄存器名字必須是a
到z
之間的一個字母赎败。
-
- 執(zhí)行你要執(zhí)行的操作秕衙,按下
q
以結(jié)束對命令的記錄。
- 執(zhí)行你要執(zhí)行的操作秕衙,按下
-
@{register}
命令:執(zhí)行剛剛記錄下來的宏僵刮。
-
-
- 例子:
-
qa
:開始將后續(xù)的命令記入到寄存器a
中据忘。
-
- 將光標(biāo)移動到行首。
-
i#include "<Esc>
妓笙,在該行之前插入#include
若河。
-
- $將光標(biāo)移動到行尾能岩。
-
a.h"<Esc>
:在行尾加上.h"
字符寞宫。
-
-
j
:移動到下一行。
-
-
q
:停止記錄拉鹃。
-
-
@a
:執(zhí)行記錄的宏辈赋,可以加計數(shù)命令。
-
-
@@
:重復(fù)上一次宏的命令膏燕。
-
-
- 編輯宏的內(nèi)容
-
"ap
命令:顯示宏的內(nèi)容钥屈。
-
-
"ad$
命令:將編輯好的宏的內(nèi)容再一次的放入到寄存器中。
-
-
qA
命令:向寄存器a
中追加內(nèi)容坝辫。
-
-
- 替換
-
- 通用形式
-
:[range]submitute/from/to/[flags]
:對一個指定的范圍執(zhí)行替換操作篷就,range
指范圍,from
被替換的內(nèi)容近忙,與搜索命令所用的正則表達(dá)式類似竭业,to
替換為的內(nèi)容,flags
指一些常用的標(biāo)記及舍。- 如:
:s/the /these /g
未辆,g是global的意思。 - 如:
:s/one\two/one or two/g
- 如:
-
- 常用選項
-
range
:作用范圍锯玛,range=%
范圍為所有行咐柜,而缺省只作用于當(dāng)前行。 -
flags
:標(biāo)記攘残,flags=g(global)
將改變一行所有符合目標(biāo)字符串的全部字符進(jìn)行替換拙友。flags=c
:在執(zhí)行每個替換前請求用戶確認(rèn)confirm
。-
y
:好吧歼郭,yes献宫。 -
n
:不,no实撒。 -
a
:全部姊途,all涉瘾。 -
q
:退出,quit捷兰。 -
l
:把現(xiàn)在這個修改結(jié)束后進(jìn)行退出立叛。 -
CTRL-E
:向上滾屏一行。 -
CTRL-Y
:向下滾屏一行贡茅。
-
-
- 命令的作用范圍
-
:1,5s/this/that/g
:對第1行到第5行的文本執(zhí)行替換操作秘蛇。 -
:3s/this/that/g
:對指定行進(jìn)行替換操作。 -
:.,$s/this/that/g
:當(dāng)前行到最后一行范圍顶考,如:$=1,$
赁还。 -
:?^Chapter?,/^Chapter/s=this=that=g
:使用搜索模式來指定作用范圍。 -
:?^Chapter?+1,/^Chapter/-1s=this=that=g
:增與減行的范圍操作驹沿。 -
.+3,$-5s/this/that/g
:將當(dāng)前行的下三行到倒數(shù)第6行的作用操作艘策。 -
't,'bs/this/that/g
:使用標(biāo)記確定操作范圍。 -
'<,'>s/this/that/g
:Visual模式確定的范圍渊季。 -
'>,$
:從上一次VIsual模式時選定的文本區(qū)域的結(jié)束處到文本末尾的這樣的區(qū)域朋蔫。 -
.,.+4
:.
當(dāng)前行到,+4
從當(dāng)前行到向下4行。
-
- 全局命令
-
:[range]global/{pattern}/{command}
:找到符合某個匹配模式的行却汉,然后將命令作用于這些行上驯妄,全局命令的默認(rèn)作用范圍是整個文件。 -
:g=//=s/foobar/barfoo/g
:整個文件中包含//
的行合砂,進(jìn)行替換操作青扔。 -
:g=//=d
:整個文件中包含//
的行,進(jìn)行刪除操作翩伪。
-
- Visual Block模式
-
- 插入文本
-
Insert<Esc>
:在文本塊的每行的行首微猖,進(jìn)行插入文本。 -
Astring<Esc>
:在文本塊的每行的行尾幻工,進(jìn)行插入文本励两。
-
- 改變文本
-
cstring<Esc>
:修改文本塊的文本,僅僅會修改文本塊的內(nèi)容囊颅。 -
Cstring<Esc>
:修改文本塊的文本当悔,會刪除文本塊尾部的內(nèi)容。
-
- 改變文本的大小寫
-
~
:交換大小寫踢代。 -
U
:將小寫變大寫盲憎。 -
u
:將大寫變小寫。
-
- 填充命令
-
rx
:以字符x
進(jìn)行文本塊的填充操作胳挎。
-
- 左右移動
-
<
命令:會使你的文本向左移動一個shift單位饼疙。 -
>
命令:會使你的文本向右移動一個shift單位。 -
:set shiftwidth=4
:設(shè)置一個shift單位的寬度慕爬。
-
- 將多行內(nèi)容粘貼起來
-
J
命令:使文本塊縱跨的所有文本被連接為一行窑眯。 -
gJ
命令:如果你想要保留那些前導(dǎo)空白和后綴的空白時屏积,可以使用。
-
- 讀寫文件
-
- 讀取文件
-
:read fileName
:讀入文件的內(nèi)容放在當(dāng)前行磅甩。 -
$read fileName
:追加到文件的最后炊林。 -
0read fileName
:把文件放在第一行的上面。 -
60read fileName
:那文件放在指定行的上面卷要。
-
- 寫入文件
-
:write fileName
:沒有指定一個范圍時該命令將寫入整個文件的內(nèi)容渣聚。 -
:.,$write fileName
:當(dāng)前行到文件尾的內(nèi)容寫入文件,如果文件存在則失敗僧叉。 -
:.,$write! fileName
:強(qiáng)制當(dāng)前行到文件尾的內(nèi)容寫入文件奕枝,會進(jìn)入覆蓋模式。 -
:.write fileName
:將當(dāng)前行寫入文件中瓶堕。 -
:.write >> fileName
:將當(dāng)前行的內(nèi)容追加到文件中隘道。
-
- 格式化文本
-
:set textwidth
: 查看鍵入文字的時候每行的內(nèi)容能自動調(diào)節(jié)到適應(yīng)當(dāng)前設(shè)置的寬度,每一行都會自動調(diào)整到只包含最多幾個字符捞烟,Vim進(jìn)行格式化文本的時候不會打斷你的單詞薄声。 -
:set textwidth=100
: 設(shè)置鍵入文字的時候每行的內(nèi)容能自動調(diào)節(jié)到適應(yīng)當(dāng)前設(shè)置的寬度当船,每一行都會自動調(diào)整到只包含最多100
個字符题画,Vim進(jìn)行格式化文本的時候不會打斷你的單詞。 -
:gqap
:gq
為Vim的一個格式化操作符號德频,ap
是一個文本對象苍息,即:a paragraph。 -
gg gqG
:格式化整個文件的內(nèi)容壹置。 -
gqgq
:格式化當(dāng)前行竞思,可以與.
重復(fù)命令一起使用。 -
gqj
:格式化當(dāng)前行和它下面的一行钞护。
-
- 改變大小寫
-
guw
命令:gu
是變小寫的操作符盖喷,w
是位移。 -
gUw
命令:gU
是變大寫的操作难咕,w
是位移课梳。 -
g~w
命令:將字母的大小寫進(jìn)行反轉(zhuǎn),大寫變小寫余佃,小寫變大寫暮刃。 -
gugu
命令:使一整行變?yōu)樾懀唽憺?code>guu爆土,同理gUgU
椭懊、gUU
、g~g~
步势、g~~
氧猬。
-
- 使用外部程序
-
sort < input.txt > output.txt
: -
!5G
:!
過濾操作符背犯,5G
為移動命令,決定了將哪個區(qū)域送到過濾程序中盅抚。 -
!!date
:!!
命令為過濾當(dāng)前行媳板,date
命令顯示當(dāng)前時間。 -
write !wc
:將文本寫入一個命令wc
中泉哈,wc
命令是統(tǒng)計行數(shù)蛉幸,單詞數(shù),字符數(shù)丛晦。
vim【宏、替換映之、全局模式拦焚、Visual Block模式蜡坊、讀寫文件】
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門您访,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剪决,你說我怎么就攤上這事灵汪。” “怎么了柑潦?”我有些...
- 文/不壞的土叔 我叫張陵享言,是天一觀的道長。 經(jīng)常有香客問我渗鬼,道長览露,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任譬胎,我火速辦了婚禮差牛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘银择。我一直安慰自己多糠,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布浩考。 她就那樣靜靜地躺著夹孔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搭伤,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼季稳!你這毒婦竟也來了擅这?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布,位于F島的核電站算途,受9級特大地震影響塞耕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嘴瓤,卻給世界環(huán)境...
- 文/蒙蒙 一扫外、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧廓脆,春花似錦筛谚、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春吮铭,著一層夾襖步出監(jiān)牢的瞬間时迫,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 1. 關(guān)于Vim vim是我最喜歡的編輯器胧奔,也是linux下第二強(qiáng)大的編輯器。 雖然emacs是公認(rèn)的世界第一预吆,我...
- [TOC] ##Assoc 顯示或修改文件擴(kuò)展名關(guān)聯(lián) Assoc [.Ext[=[Filetype]]] .Ex...
- vi(vim)可以說是linux中用得最多的工具了龙填,不管你配置服務(wù)也好,寫腳本也好拐叉,總會用到它岩遗。但是,vim作為一...
- 看完市場營銷1-4班所有的搜索和投放渠道作業(yè)凤瘦,有很多優(yōu)秀的作業(yè)宿礁,為此,每個班保留了7-10個蔬芥,大多投放渠道為知名的...