2
我想寫一個命令,會導致Emacs切換到一個新的緩衝區,並執行一些操作(在這種情況下,執行一個shell命令)寫輸出到緩衝區。emacs elisp切換到緩衝區,並按照
(defun test-func()
(interactive)
(let ((bname "*temp*")
(default-directory "/home/me"))
(with-output-to-temp-buffer bname
(switch-to-buffer bname)
(shell-command "ls -l" bname))))
在這種情況下,它「工作」,除非在命令完成執行之前它不切換緩衝區。我想立即切換,然後在運行時跟隨輸出。有沒有辦法做到這一點?
是的,它切換到緩衝區,但緩衝區不會更新,直到shell命令完成...也許有一種不同的方式叫出來。 – MichaelB
@MichaelB:使用'&',看編輯。 – sds
看起來像重新顯示,然後啓動過程可以做到這一點。 – MichaelB