標籤:

vim中執行shell命令小結

在VIM編輯器中有3中運行shell的方法:

1、如果想長時間的運行shell命令,則可以在命令模式下輸入":sh",則可以運行相當於在字元模式下,到輸入結束想回到VIM編輯器中可以用exit,ctrl+D返回VIM編輯器,繼續編輯剛才的任務!

2、如果只想暫時用一下shell,則可以"!command",運行結束後自動回到VIM編輯器中。

3、如果想讓shell下的命令運行的結果插入到VIM編輯器中作為文本一部分,則可以"!!command",注意它的結果會替換游標所在當前行!

vim中執行shell命令小結

分類:VimLinux2012-09-2415:36211人閱讀評論(0)收藏舉報

vim中執行shell命令,有以下幾種形式1):!command

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

例如

:!ls -l

特別的可以運行:!bash來啟動一個bashshell並執行命令,不需要退出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

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

如果輸入的是:52 !bash,那麼會把第52行的內容也就是ls-l作為命令執行,同時命令的輸出結果會替換第52行的內容,注意其中的區別。


推薦閱讀:

阻礙民警執行職務行為該如何處置?
內控連載20:讀《杜拉拉升職記》向500強外企學內控 之內控執行策略
法信碼 | 非訴行政執行案件中執行和解的適用認定
職場中,如何提高員工執行力?其實只需這5步!
Suzi之旅-記NLP高級執行師—中國NLP學院

TAG:執行 |