【发布时间】:2010-12-21 21:48:11
【问题描述】:
我在 Emacs-ESS 中打开了两个会话:一个在我的桌面上,一个在使用 tramp 的服务器上。如何告诉 ESS 使用哪个会话?
【问题讨论】:
我在 Emacs-ESS 中打开了两个会话:一个在我的桌面上,一个在使用 tramp 的服务器上。如何告诉 ESS 使用哪个会话?
【问题讨论】:
我用过
M-x ess-switch-process
一直在 Emacs 中的(本地)R 会话之间切换。第 3.2 节有详细说明。
编辑作为 aL3xa 评论的后续,我的 dot.emacs 中也有这些:
(require 'uniquify)
(setq uniquify-buffer-name-style 'post-forward-angle-brackets)
; Slightly more debatable
(global-set-key (kbd "C-x C-b") 'ibuffer)
这使得进程切换更加更好。感谢 CGWalters,另一个 Emacs 用户,我从他那里复制了这个。
【讨论】:
ess-switch-process 绑定到C-c C-s,还有一个相关功能是来自 iESS 的 C-c C-k,它允许在 iESS 缓冲区之间轻松导航。
C-x b 并输入*R,后跟所需的会话ID。这是 Emacs 的原生特性(不是 ESS 特有的)。您会在 minibufer 中看到以前使用的缓冲区名称作为默认值,因此如果您在两个 R 会话之间切换,这会非常方便。
uniquifi,它使缓冲区切换变得更好、更容易——请参阅我修改后的答案。