我在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 缓冲区之间轻松导航。 - VitoshKaC-x b
并输入所需的会话ID后跟*R
。这是Emacs的本地功能(不是特定于ESS的)。您将在minibufer中看到先前使用的缓冲区名称作为默认值,因此如果您在两个R会话之间切换,这可能非常方便。 - aL3xauniquifi
,它使缓冲区切换变得更加出色和容易 - 请参阅我的修改后的答案。 - Dirk Eddelbuettel