vim【宏、替換映之、全局模式拦焚、Visual Block模式蜡坊、讀寫文件】

    1. 命令的記錄和回放
      1. 操作步驟:
        1. q{register}命令:將后續(xù)的動作記錄到名為{register}的寄存器中,其中給出的寄存器名字必須是az之間的一個字母赎败。
        1. 執(zhí)行你要執(zhí)行的操作秕衙,按下q以結(jié)束對命令的記錄。
        1. @{register}命令:執(zhí)行剛剛記錄下來的宏僵刮。
      1. 例子:
        1. qa:開始將后續(xù)的命令記入到寄存器a中据忘。
        1. 將光標(biāo)移動到行首。
        1. i#include "<Esc>妓笙,在該行之前插入#include若河。
        1. $將光標(biāo)移動到行尾能岩。
        1. a.h"<Esc>:在行尾加上.h"字符寞宫。
        1. j:移動到下一行。
        1. q:停止記錄拉鹃。
        1. @a:執(zhí)行記錄的宏辈赋,可以加計數(shù)命令。
        1. @@:重復(fù)上一次宏的命令膏燕。
      1. 編輯宏的內(nèi)容
        1. "ap命令:顯示宏的內(nèi)容钥屈。
        1. "ad$命令:將編輯好的宏的內(nèi)容再一次的放入到寄存器中。
        1. qA命令:向寄存器a中追加內(nèi)容坝辫。
    1. 替換
      1. 通用形式
      • :[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
      1. 常用選項
      • 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. 命令的作用范圍
    • :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行。
    1. 全局命令
    • :[range]global/{pattern}/{command}:找到符合某個匹配模式的行却汉,然后將命令作用于這些行上驯妄,全局命令的默認(rèn)作用范圍是整個文件。
    • :g=//=s/foobar/barfoo/g:整個文件中包含//的行合砂,進(jìn)行替換操作青扔。
    • :g=//=d:整個文件中包含//的行,進(jìn)行刪除操作翩伪。
    1. Visual Block模式
      1. 插入文本
      • Insert<Esc>:在文本塊的每行的行首微猖,進(jìn)行插入文本。
      • Astring<Esc>:在文本塊的每行的行尾幻工,進(jìn)行插入文本励两。
      1. 改變文本
      • cstring<Esc>:修改文本塊的文本,僅僅會修改文本塊的內(nèi)容囊颅。
      • Cstring<Esc>:修改文本塊的文本当悔,會刪除文本塊尾部的內(nèi)容。
      1. 改變文本的大小寫
      • ~:交換大小寫踢代。
      • U:將小寫變大寫盲憎。
      • u:將大寫變小寫。
      1. 填充命令
      • rx:以字符x進(jìn)行文本塊的填充操作胳挎。
      1. 左右移動
      • <命令:會使你的文本向左移動一個shift單位饼疙。
      • >命令:會使你的文本向右移動一個shift單位。
      • :set shiftwidth=4:設(shè)置一個shift單位的寬度慕爬。
      1. 將多行內(nèi)容粘貼起來
      • J命令:使文本塊縱跨的所有文本被連接為一行窑眯。
      • gJ命令:如果你想要保留那些前導(dǎo)空白和后綴的空白時屏积,可以使用。
    1. 讀寫文件
      1. 讀取文件
      • :read fileName:讀入文件的內(nèi)容放在當(dāng)前行磅甩。
      • $read fileName:追加到文件的最后炊林。
      • 0read fileName:把文件放在第一行的上面。
      • 60read fileName:那文件放在指定行的上面卷要。
      1. 寫入文件
      • :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)容追加到文件中隘道。
      1. 格式化文本
      • :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)行格式化文本的時候不會打斷你的單詞。
      • :gqapgq為Vim的一個格式化操作符號德频,ap是一個文本對象苍息,即:a paragraph。
      • gg gqG:格式化整個文件的內(nèi)容壹置。
      • gqgq:格式化當(dāng)前行竞思,可以與.重復(fù)命令一起使用。
      • gqj:格式化當(dāng)前行和它下面的一行钞护。
      1. 改變大小寫
      • guw命令:gu是變小寫的操作符盖喷,w是位移。
      • gUw命令:gU是變大寫的操作难咕,w是位移课梳。
      • g~w命令:將字母的大小寫進(jìn)行反轉(zhuǎn),大寫變小寫余佃,小寫變大寫暮刃。
      • gugu命令:使一整行變?yōu)樾懀唽憺?code>guu爆土,同理gUgU椭懊、gUUg~g~步势、g~~氧猬。
      1. 使用外部程序
      • sort < input.txt > output.txt
      • !5G!過濾操作符背犯,5G為移動命令,決定了將哪個區(qū)域送到過濾程序中盅抚。
      • !!date!!命令為過濾當(dāng)前行媳板,date命令顯示當(dāng)前時間。
      • write !wc:將文本寫入一個命令wc中泉哈,wc命令是統(tǒng)計行數(shù)蛉幸,單詞數(shù),字符數(shù)丛晦。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末奕纫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子烫沙,更是在濱河造成了極大的恐慌匹层,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锌蓄,死亡現(xiàn)場離奇詭異升筏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瘸爽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進(jìn)店門您访,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剪决,你說我怎么就攤上這事灵汪。” “怎么了柑潦?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵享言,是天一觀的道長。 經(jīng)常有香客問我渗鬼,道長览露,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任譬胎,我火速辦了婚禮差牛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘银择。我一直安慰自己多糠,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布浩考。 她就那樣靜靜地躺著夹孔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搭伤,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天只怎,我揣著相機(jī)與錄音,去河邊找鬼怜俐。 笑死身堡,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拍鲤。 我是一名探鬼主播贴谎,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼季稳!你這毒婦竟也來了擅这?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤景鼠,失蹤者是張志新(化名)和其女友劉穎仲翎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铛漓,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡溯香,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了浓恶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片玫坛。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖问顷,靈堂內(nèi)的尸體忽然破棺而出昂秃,到底是詐尸還是另有隱情禀梳,我是刑警寧澤杜窄,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站算途,受9級特大地震影響塞耕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嘴瓤,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一扫外、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧廓脆,春花似錦筛谚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春吮铭,著一層夾襖步出監(jiān)牢的瞬間时迫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工谓晌, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留掠拳,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓纸肉,卻偏偏與公主長得像溺欧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子柏肪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,381評論 0 5
  • 1. 關(guān)于Vim vim是我最喜歡的編輯器胧奔,也是linux下第二強(qiáng)大的編輯器。 雖然emacs是公認(rèn)的世界第一预吆,我...
    Dyworldhua閱讀 1,380評論 0 2
  • [TOC] ##Assoc 顯示或修改文件擴(kuò)展名關(guān)聯(lián) Assoc [.Ext[=[Filetype]]] .Ex...
    btijjj閱讀 345評論 0 1
  • vi(vim)可以說是linux中用得最多的工具了龙填,不管你配置服務(wù)也好,寫腳本也好拐叉,總會用到它岩遗。但是,vim作為一...
    梁世勇閱讀 1,582評論 2 12
  • 看完市場營銷1-4班所有的搜索和投放渠道作業(yè)凤瘦,有很多優(yōu)秀的作業(yè)宿礁,為此,每個班保留了7-10個蔬芥,大多投放渠道為知名的...
    Lcc_cecf閱讀 146評論 0 0