日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vim 命令学习(高级篇)

發(fā)布時間:2024/7/5 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vim 命令学习(高级篇) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【1】打開文件方式

(1)vim +n filename

作用:打開文件,并定位到第n行

例如:vim +103 2019-02-26-errorrepeat.txt

效果:打開2019-02-26-errorrepeat.txt文件,同時,光標定位在103行的行首。

(2)vim + filename

作用:打開文件,并定位到最后一行

例如:vim + 2019-02-26-errorrepeat.txt

效果:打開2019-02-26-errorrepeat.txt文件,同時,光標定位在最后一行的行首。

(3)vim +/pattern filename

作用:定位至第一次被pattern匹配到的行的行首

例如:vim +/"2019-02-26 17:03:21" 2019-02-26-errorrepeat.txt

效果:打開2019-02-26-errorrepeat.txt文件,同時,光標定位在第一次匹配到字符串"2019-02-26 17:03:21"的行的行首。

注意,此時按n鍵往下繼續(xù)查找匹配字符串。

(4)vim +?pattern filename

作用:定位至第一次被pattern匹配到的行的行首

例如:vim +/"2019-02-26 17:03:21" 2019-02-26-errorrepeat.txt

效果:打開2019-02-26-errorrepeat.txt文件,同時,光標定位在第一次匹配到字符串"2019-02-26 17:03:21"的行的行首。

注意,此時按n鍵會往上繼續(xù)查找匹配字符串。與上一個命令功能類似。

(5)vim?-r filename

作用:在上次正用vim編輯文件時發(fā)生系統(tǒng)崩潰,恢復filename

【2】末行模式

(1)vim中執(zhí)行shell命令,有以下幾種形式:

1.1 [:!command]

作用:不退出vim正在編輯的文件,直接執(zhí)行shell命令command,將命令執(zhí)行結(jié)果輸出顯示在vim的命令區(qū)域,不會改變當前編輯文件的內(nèi)容。

例如:[:!ls -l]

示例:打開文件study.txt,不關(guān)閉文件,直接執(zhí)行命令[:!ls -l],執(zhí)行輸出顯示在vim命令區(qū)域。

命令:

結(jié)果:

當然,特別的,也可以直接運行[:!bash]來啟動一個bash shell并執(zhí)行命令,不需要退出vim。

1.2 [:r!command]

將shell命令command的結(jié)果插入到當前行的下一行

例如 [:r!date] 讀取系統(tǒng)時間并插入到當前行的下一行

示例:打開文件study.txt,不關(guān)閉文件,直接執(zhí)行命令[:r!date],讀取系統(tǒng)時間并插入到當前光標行的下一行。

命令:

結(jié)果:

1.3 [:起始行號,結(jié)束行號!command]?

? 1.3.1 將起始行號和結(jié)束行號指定的范圍中的內(nèi)容輸入讓shell命令command處理,并將處理結(jié)果替換起始行號和結(jié)束行號指定的范圍中的內(nèi)容

??例如 [:1,10!sort] 將1行到10行的內(nèi)容進行排序,并將結(jié)果替換起始行號和結(jié)束行號范圍中的內(nèi)容

? 命令:

? 結(jié)果:

? 1.3.2 可以只指定起始行(即范圍為一行)

? 例如 [:3 !tr [a-z] [A-Z]] 將第3行的小寫字母轉(zhuǎn)為大寫字母

? 命令:

? 效果:

? 1.3.3 針對當前光標所在行,除可以指定行號外,也可以用.表示

??例如 [:. !tr [a-z] [A-Z]] 將當前行的小寫轉(zhuǎn)為大寫。試想一下,當你不確定行號的時候,只需要關(guān)注光標行,這樣的形式是不是很高大上!

? 命令:

??結(jié)果:

1.4 [起始行號,結(jié)束行號 w !command]

將起始行號和結(jié)束行號所指定的范圍的內(nèi)容作為命令command的輸入,不會改變當前編輯的文件的內(nèi)容。

例如 [:1,10 w !sort]?將1至10行的內(nèi)容作為命令sort的輸入,對1至10行的內(nèi)容進行排序,但排序的結(jié)果并不會直接輸出到當前編輯的文件中,而是顯示在vim敲命令的區(qū)域。

命令:

結(jié)果:

特殊的情況,也可以下面這么用

[:62 w !bash] 將會把第62行的內(nèi)容作為bash命令來執(zhí)行并顯示結(jié)果,而且不會改變當前編輯的文件的內(nèi)容

同樣的 [:. w !bash] 將當前行的內(nèi)容作為bash命令來執(zhí)行

例如,第3行內(nèi)容為: ls -l 那么輸入[:3 w !bash]就跟執(zhí)行!ls -l是一樣的效果。

命令:

結(jié)果:

如果你用的shell是bash shell 如果輸入的是[:52 !bash],那么會把第52行的內(nèi)容也就是ls -l作為命令執(zhí)行,同時命令的輸出結(jié)果會替換第52行的內(nèi)容。

比如上例,執(zhí)行結(jié)果:

注意以上兩者其中的區(qū)別。

1.5 vim同時打開多個文件時,可以利用[:args]命令查看當前正在編輯的文件(正編輯的文件使用[]方括號括起來)

打開三個文件:

命令:

結(jié)果:

如上,[study.txt]為正在編輯的文件。

【3】命令模式

命令模式的操作技巧

【4】編輯模式

編輯模式的操作技巧

【5】其他

其他技巧

備注:為了區(qū)別內(nèi)容中的冒號,所有命令均用[]方括號括起來了,使用過程中注意命令格式。

?

Good Good Study, Day Day?Up.

順序?選擇?循環(huán)?總結(jié)

轉(zhuǎn)載于:https://www.cnblogs.com/Braveliu/p/10579359.html

總結(jié)

以上是生活随笔為你收集整理的vim 命令学习(高级篇)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。