从命令行调用emacsclientw的问题

时间:2011-06-28 20:15:44

标签: windows emacs command-line org-mode

我在Win7上调用emacsclientw来处理Org文件。我想在处理之后关闭Emacs缓冲区,这样如果在Emacs之外编辑文件并且重新发送到emacsclientw,它将处理更改的文件。我想在emacsclient --eval的末尾杀死缓冲区。如果我不能得到那个,那么在编辑emacs之外的文件后重新执行命令行调用时,可以摆脱“文件已更改,重新加载(是或否)”提示。

这是命令行调用,它工作正常,除非缓冲区在屏幕上的Emacs帧中保持打开,即使在kill-buffer函数之后(尽管它说'推送到kill ring')。我知道kill-buffer不应该在emacs客户端上做我想做的事情;我也尝试了服务器编辑和服务器杀死缓冲,没有更好的结果。:

c:/users/herbert/emacsclientw -n --eval ^"(let ((org-export-
babel-evaluate nil)) (progn (find-file \^"c:/users/herbert/desktop/org_files
/gtdsample.org\^") (org-export-as-html-and-open nil) (kill-buffer) ))^"

有没有办法让Emacs中的缓冲区关闭?或者,如果我在编辑Emacs之外的gtdsample.org文件后尝试重做相同的命令,是否有某种方法可以阻止它提示提示?

1 个答案:

答案 0 :(得分:0)

只是想一想,您可以尝试(服务器编辑)或(服务器切换缓冲区)而不是(kill-buffer)。