VIM中執行Shell命令(炫酷)

來源:互聯網
上載者:User

      我對VIM的認識僅僅是一款源碼編輯器,在Linux下用來編輯程式源碼或者某些服務的設定檔。最近無意中看到vim中竟然可以執行shell命令。第一次見,說句實話感覺好炫酷。不多說,我查了一些資料,一個一個嘗試一下,留個筆記,備查。

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

      第一種 :!command

      不退出vim,並執行shell命令command,將命令輸出顯示在vim的命令地區,不會改變當前編輯的檔案的內容。執行:!ls -al命令,如下圖所示:

      特別的可以運行:!bash來啟動一個bash shell並執行命令,不需要退出vim。這點在Linux滲透測試的時候很有用,關於日誌清除相關的內容,不想說的太明白,自己體會吧。(最後還要刪除VIM所產生的記錄檔噢,kali裡面是.viminfo,在vim中使用rm -rf強制清除)

      第二種 :r !command

      將shell命令command的結果插入到當前行的下一行。例如:r !date。讀取系統時間並插入到當前行的下一行。如下圖所示:

      第三種 :起始行號,結束行號!command

      將起始行號和結束行號指定的範圍內的內容讓shell命令command處理,並將處理結果替換起始行號和結束行號指定範圍中的內容。例如 :1,4 !sort,將第1行到第4行的內容進行排序。如下圖所示:

      可以只指定起始行,例如:1 !tr [a-z] [A-Z],將第1行的小寫字母轉為大寫字母。如下圖所示:

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

      第四種 :起始行號,結束行號 w !command

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

      例如:1,4 w !sort,將第1行到第4行的內容進行排序,但排序的結果並不會直接輸出到當前編輯的檔案中,而是顯示到vim敲命令的地區。如下圖所示:

      特殊的可以用下面的命令: 1 w !bash,將會把第1行的內容作為bash命令來執行並顯示結果,而且不會改變當前編輯的檔案的內容。同樣的 : . w !bash將當前行的內容作為bash命令來執行。

      好了,參考人家的資料,試了一下,整理的內容。這個好炫酷。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.