2017年1月25日 星期三

You don't know shell-command (M-!) / eshell !!!

其實測試時能直接開 eshell 實在是很方便,做文件啦(尤其是 htmlfontify轉成 html)什麼的都很快捷。說到 emacs 的 eshell ,可以說是對 pipeline 及 createprocess 相當高段的一個創作。這一定要推薦 Mastering Emacs 這本書,很多時候可能要寫個小小 script 的工作,在 eshell 裏面竟然給幾個組合鍵就搞定了。

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 的層級就可以很簡單的解決掉了…

沒有留言:

張貼留言