簡介:
vim 是十分強大的文字編輯工具,但有一些事它做不了。本文簡單說說在不離開 vim 編輯器的情況下,執行 shell 命令、工具。
1. 進入 shell
(1)在 vim 中執行:shell
或:sh
,當退出當前 shell 時,就會回到 vim;
(2)也可以使用ctr-z
進入 shell, 然後執行fg
回到 vim。
上述功能可用於下述場景:
如我們編輯了乙個檔案,但是發現無法儲存(沒有寫許可權),你可以先改變該檔案讀寫許可權,然後再回到 vim 儲存剛剛的修改。
2. 在 vim 中執行 shell 命令!
我們只需要在命令前 加上!
就可以。
如,:! sort %
該命令會對當前編輯的檔案(%)內容進行排序,並輸出。
但該命令僅對檔案內容進行操作,命令不會快取中的內容進行操作。
!
通常和非互動式命令結合使用。
3. 讀取命令的輸出
很多人常用 vimread
命令讀取內容, 如:
:read textfile
但read
還可以用於讀取 shell 命令的輸出,如:
:read ! ls | sort
4. 使用外部命令過濾文字
進入 vimvisual
模式,選中你想操作的文字,然後執行 shell 命令。
你選中的命令會被 shell 命令的輸出替換。
注:
預設情況下,vim 使用系統預設使用的 shell。
檢視 vim 使用了哪乙個 shell
:set shell ?
設定你想要試用的 shell
:set shell=/path/to/shell
php執行外部命令
php執行外部命令的不少,例如 exec shell exec system popen等。我特意的講一下popen,它跟其他函式不太一樣,其他函式執行乙個命令後,會等待其返回後,再向下執行,而popen則不會。所以你想用php程式並行的處理一些業務的時候,可以用popen。我舉個例子,有兩個php...
python 執行外部命令
開始用的 import subprocess p subprocess.popen cmd.split stdout subprocess.pipe,stderr subprocess.pipe return p.stdout.read 這樣其實也是沒啥問題的,但我這的環境是svn的鉤子 不知是許可...
php 無法執行外部命令 如何呼叫外部命令
呼叫外部命令的函式有很多 system passthru escapeshellcmd pcntl exec exec 關於他們的使用我不過度闡述了 然而有時候會遇到這樣的情況 當我們在php指令碼中新增了這樣的命令 例 exec rm rf a b c html 的時候 始終不能執行 問題一 我碰...