shell-command
先來說說 shell-command 。 在 ultraedit 中有幾個很方便的功能,例如 Alt-E,F 可以複製檔案名稱到剪貼簿中,經常搭配著 cmd.exe 來進行各種工作。 emacs 可以做類似的事,例如 M-! pwd (linux 系統上) 或 M-! cd (windows系統上),但是它少了複製/貼上的冗餘動作,只要在下命令前加上 C-u 即可使輸出結果插入當前 buffer 中。
C-u M-! 這個按鍵組合本身就是個經典, 例如 C-u M-! ping xxx.xxx.xxx.xxx ,就可以把ping的結果直接插入到當前文件,這要直接在 cmd.exe 上要多作很多的動作(需要滑鼠),想到就很讚嘆…
其它詳情請參考 https://www.masteringemacs.org/article/executing-shell-commands-emacs
eshell
詳情請參考 https://www.masteringemacs.org/article/complete-guide-mastering-eshell
雖然把它當 bash / cmd.exe 有點太小看它了,不過能在 buffer 中執行 shell 又能把結果立馬拿來編輯,這已經很好用了。
emacs 25.1-2 版
最後, emacs 25.1-2 版已經出了,有很多令人振奮的新功能,讓人覺得 rstudio / iphthon 的功能也被吸星大法吸納的港(?)覺
其中新的動態連結功能,可以想見即將取代目前大部分使用命令列參數來呼叫其它工具程式的局面,好處的話想當然爾可以節省多次呼叫時所需的啟動時間,壞處的話就是可能 lib 寫不好的話反而去掛掉主程式…真心覺得 jboss / websphere 這類服務有點危險, bash 等 shell 寫得愈來愈好,會寫 shell script 的人愈來愈多,回頭一看可能會發現,很多東西其實在 shell 的層級就可以很簡單的解決掉了…
其中新的動態連結功能,可以想見即將取代目前大部分使用命令列參數來呼叫其它工具程式的局面,好處的話想當然爾可以節省多次呼叫時所需的啟動時間,壞處的話就是可能 lib 寫不好的話反而去掛掉主程式…真心覺得 jboss / websphere 這類服務有點危險, bash 等 shell 寫得愈來愈好,會寫 shell script 的人愈來愈多,回頭一看可能會發現,很多東西其實在 shell 的層級就可以很簡單的解決掉了…