emacsclient -eval "(insert \"something\")" 对我不起作用

man*_*anu 5 emacs

我最近升级到 Emacs 23 附带的 Ubuntu 10.04。我需要 Jabref 将引文推送到 Emacs。

然而,尽管我安装了 Jabref 插件来通过 emacsclient 推送引文,但它不起作用。

我做了我的测试,并阅读了一些 Emacs Lisp 介绍。

一些命令确实有效,例如如果我输入(在控制台中):

  emacsclient --eval "(switch-to-buffer \"*sratch*\")"
Run Code Online (Sandbox Code Playgroud)

emacs 窗口切换到该缓冲区。但是,如果我发出插入命令:

  emacsclient --eval "(insert \"do you see me?\")"
Run Code Online (Sandbox Code Playgroud)

当前缓冲区中没有插入任何文本。

Emacs 23 是否改变了插入的某些内容?

Jür*_*zel 5

你正在插入服务器缓冲区,你很可能想要:

emacsclient --eval '(with-current-buffer "*scratch*" (insert "do you see me?"))'
Run Code Online (Sandbox Code Playgroud)

  • 我找到了:(with-current-buffer(window-buffer)(插入“我看到你了!”)) (2认同)