Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Emacs EmacClient-eval“;(插入“某物”);他不适合我_Emacs - Fatal编程技术网

Emacs EmacClient-eval“;(插入“某物”);他不适合我

Emacs EmacClient-eval“;(插入“某物”);他不适合我,emacs,Emacs,我最近升级到了Ubuntu10.04,它附带了Emacs23。我需要Jabref将引文推送到Emacs 然而,尽管我安装了Jabref插件通过EmacClient推送引文,但它不起作用 我做了测试,并阅读了一些Emacs Lisp简介 有些命令确实有效,例如,如果我键入(在控制台中): emacs窗口切换到该缓冲区。但是,如果我发出insert命令: emacsclient --eval "(insert \"do you see me?\")" 当前缓冲区中未插入任何文本 Emacs 2

我最近升级到了Ubuntu10.04,它附带了Emacs23。我需要Jabref将引文推送到Emacs

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

我做了测试,并阅读了一些Emacs Lisp简介

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

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

  emacsclient --eval "(insert \"do you see me?\")"
当前缓冲区中未插入任何文本


Emacs 23是否更改了有关插入的内容?

Emacs 23更改了有关EmacClient和server的内容

表达式在缓冲区“*server*”(带前导空格)中求值。。。因此,您必须在插入前更改缓冲区:

  emacsclient --eval "(with-current-buffer \"*scratch*\" (insert \"foo\"))"
您正在插入服务器缓冲区,您很可能需要:

emacsclient --eval '(with-current-buffer "*scratch*" (insert "do you see me?"))'

谢谢我花了一段时间阅读Emacs Lisp简介,在测试缓冲区名称函数时,看到了“服务器”名称。所以我想我应该把我的问题重新表述成一个更难的问题:我能把文本插入我在当前帧上编辑的“缓冲区”吗?我是否应该将此作为单独的问题写下来并关闭此问题?我发现了:(使用当前缓冲区(窗口缓冲区)(插入“我确实看到你了!”)
emacsclient --eval '(with-current-buffer "*scratch*" (insert "do you see me?"))'