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