我该如何在emacs-ess中切换R会话?

18

我在Emacs-ESS中打开了两个会话:一个在我的桌面上,另一个使用TRAMP在服务器上。我该如何告诉ESS使用哪个会话?

1个回答

21

嗯,我使用

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 用户,我从他那里复制了这个。


@Dirk 谢谢 - 现在可以了;我之前试图在启动新进程之前做这个,但现在我明白我需要执行 M-x ess-start-process 然后 M-x ess-switch-process。 - David LeBauer
2
@David,ess-switch-process 绑定到 C-c C-s,另外一个相关的功能是 iESS 中的 C-c C-k,它允许在 iESS 缓冲区之间轻松导航。 - VitoshKa
1
另一个“解决方案”是使用C-x b并输入所需的会话ID后跟*R。这是Emacs的本地功能(不是特定于ESS的)。您将在minibufer中看到先前使用的缓冲区名称作为默认值,因此如果您在两个R会话之间切换,这可能非常方便。 - aL3xa
好的观点。大约两年前,我了解了 uniquifi,它使缓冲区切换变得更加出色和容易 - 请参阅我的修改后的答案。 - Dirk Eddelbuettel
1
很抱歉听到这个消息。在我的Ubuntu上,使用标准软件包和没有本地elisp软件包或插件,一切都正常运行。 - Dirk Eddelbuettel
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接