1. 程式人生 > >vim中執行shell命令小結

vim中執行shell命令小結

vim中執行shell命令,有以下幾種形式


1):!command


不退出vim,並執行shell命令command,將命令輸出顯示在vim的命令區域,不會改變當前編輯的檔案的內容


例如


:!ls -l


特別的可以執行:!bash來啟動一個bash shell並執行命令,不需要退出vim


2):r !command


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


例如


:r !date,讀取系統時間並插入到當前行的下一行。


3):起始行號,結束行號 !command


將起始行號和結束行號指定的範圍中的內容輸入到shell命令command處理,並將處理結果替換起始行號和結束行號指定的範圍中的內容


例如


:62,72 !sort,將62行到72行的內容進行排序


可以只指定起始行,例如:62 !tr [a-z] [A-Z],將62行的小寫字母轉為大寫字母


當前游標所在行,除可以指定行號外,也可以用.表示,例如:. !tr [a-z] [A-Z],將當前行的小寫轉為大寫


4):起始行號,結束行號 w !command


將起始行號和結束行號所指定的範圍的內容作為命令command的輸入。不會改變當前編輯的檔案的內容


例如


:62,72 w !sort,將62行到72行的內容進行排序,但排序的結果並不會直接輸出到當前編輯的檔案中,而是顯示在vim敲命令的區域


特殊的可以下面這麼用


:62 w !bash,將會把第62行的內容作為bash命令來執行並顯示結果,而且不會改變當前編輯的檔案的內容


同樣的:. w !bash,將當前行的內容作為bash命令來執行


例如52行內容為ls -l


那麼輸入:52 w !bash就跟執行!ls -l是一樣的效果,如果你用的shell是bash shell


如果輸入的是:52 !bash,那麼會把第52行的內容也就是ls -l作為命令執行,同時命令的輸出結果會替換第52行的內容,注意其中的區別。
--------------------- 
作者:topgun38 
來源:CSDN 
原文:https://blog.csdn.net/topgun_chenlingyun/article/details/8013115 
版權宣告:本文為博主原創文章,轉載請附上博文連結!