【问题标题】:How can I switch between R sessions in emacs-ess?如何在 emacs-ess 中的 R 会话之间切换?
【发布时间】:2010-12-21 21:48:11
【问题描述】:

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

【问题讨论】:

    标签: r emacs ess tramp


    【解决方案1】:

    我用过

    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,ess-switch-process 绑定到C-c C-s,还有一个相关功能是来自 iESS 的 C-c C-k,它允许在 iESS 缓冲区之间轻松导航。
    • 另一个“解决方案”是使用C-x b 并输入*R,后跟所需的会话ID。这是 Emacs 的原生特性(不是 ESS 特有的)。您会在 minibufer 中看到以前使用的缓冲区名称作为默认值,因此如果您在两个 R 会话之间切换,这会非常方便。
    • 好点。大约两年前,我了解了 uniquifi,它使缓冲区切换变得更好、更容易——请参阅我修改后的答案。
    • 很抱歉听到这个消息。在 Ubuntu 上工作正常,带有标准包,没有本地 elisp 包或附加组件。
    猜你喜欢
    • 2015-05-27
    • 2012-09-16
    • 2013-12-07
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多