在登录和emacsclient时,我遇到了使用emacs服务器启动的问题。具体来说,对于不同的R项目,我使用相同的emacs服务器,事情变得丑陋起来,来自不同项目的命令最终会进入同一个R会话。
我的工作是在登录时用/usr/bin/emacs --daemon=Rmd-1调用第二台服务器。我编写了一个bash脚本,以便我使用的第一个.Rmd文件附加到这个守护进程,然后发出命令/usr/bin/emacs --daemon=Rmd-2。如果我最后使用第二个.Rmd文件,那么将使用该服务器,第三台服务器将使用/usr/bin/emacs --daemon=Rmd-3启动,并准备在需要时处理另一个.Rmd文件。
除了一件事外,这个很好用。因为很多年后,我硬要在一天结束前用C-x C-c结束emacs会话,我有很多emacs服务器在运行。当在运行在与“RMD0-9+”匹配的守护进程中的emacsclient中提供C-x C-c命令时,我正在寻找一种触发C-x C-c的方法。我看不到任何emacsclient选项可以这样做,我对如何编辑custom.el文件感到不知所措。
有人能帮我吗?
(注意,我在Ubuntu22.04上运行GNUEmacs27.1 (build 1,x86_64-,GTK+版本3.24.30) )
发布于 2022-10-31 16:28:27
根据McNisse的建议,在我的personal.el文件中添加以下内容似乎给了我想要的行为。
;; Remap C-c C-x if daemon name matches "Rmd-[0-9]+"
;;
(cond
((string-prefix-p "Rmd-" (daemonp))
(global-set-key (kbd "C-x C-c") 'save-buffers-kill-emacs)
)
)https://stackoverflow.com/questions/74240949
复制相似问题