如何从终端控制emacs?

时间:2012-12-22 06:46:11

标签: emacs elisp

我正在尝试使用在Windows VM中运行的Dragon Naturally Speaking在OSX上驱动emacs。我不想在VM中运行emacs,而是想要驱动已经在mac端运行的emacs(从存储库的HEAD构建)。因此,在通过emacs lisp手册进行搜索之后,我想出了以下lisp片段(当前我在工作时从暂存缓冲区运行):

;; This part is run from an emacsclient -t session
(defvar slave-frame last-event-frame)

;; and this is run in a GUI frame
(defadvice handle-switch-frame (after update-slave-redirect-advice activate)
  (unless (eq last-event-frame slave-frame)
    (redirect-frame-focus slave-frame last-event-frame)))

一切都很好。我输入终端窗口,显示缓冲区A,我的输入显示在GUI框架中,显示dsplaying buffer B.很棒。在我执行C-x C-f或任何其他需要迷你缓冲区的命令之前,我得到错误Terminal 1 is locked, cannot read from it

我在这里咆哮错误的树,或者有没有办法使redirect-frame-focus能够很好地使用迷你缓冲区的命令?

1 个答案:

答案 0 :(得分:0)

墩,

您想要什么行为,重定向到(Windows)客户端上的迷你缓冲区或服务器上的迷你缓冲区?另外,您使用的是emacs的版本/风格?