1
我有一個可執行文件,可以從終端命令行使用。從emacs呼叫shell
$ foo "bar"
返回文本
我希望能夠在編輯文件來調用這個函數的單行。
我可以看到,我可以做以下
M-! ~/Library/yolo/bin/foo "bar"
和我得到正是我所期待的。
所以我想寫一個函數,然後我可以綁定到鍵。但我很難過。
(setq foobar-path "~/Library/yolo/bin/foo ")
(defun foo-bar (func)
(shell-command (concat foobar-path func)))
(global-set-key (kbd "M-p") foo-bar)
但我知道(emacs告訴我),我的方式。
我將理想地結了的是,可發送的代碼行鍵綁定(如評估最後一個表達式)到外部的功能和顯示在該消息欄中的屏幕的底部返回。
任何提示?
太棒了!只有兩個問題......如果發送給foo-bar的第一個字符是/程序返回但沒有值。有沒有辦法使輸入的字符串成爲「字符串」?所以'M-p欄 - >「欄」。其次,是否有類似於交互的功能,需要一行文本(如來自文件)? – beoliver
我認爲你必須手動引用字符串。我不認爲有一種替代交互式的方法,並且請注意,您仍然需要交互式而沒有參數來使一個函數可以與一個鍵綁定。 – ataylor
請注意,如果您在elisp中構建shell命令,您可能希望調用'shell-quote-argument'。 – phils