【问题标题】:Is it possible to use R in emacs similar to a term mode?是否可以在类似于术语模式的 emacs 中使用 R?
【发布时间】:2016-11-29 08:56:29
【问题描述】:

我想在 emacs 中以类似于 term 模式的方式在 ESS/R 中工作。也就是说,当我尝试从 R 控制台复制一些文本时,我不希望光标从命令行移开。另外我想将向上箭头键重新绑定到上一个命令。

【问题讨论】:

    标签: r emacs ess


    【解决方案1】:

    你的方式

    “上一个”和“下一个”命令分别使用comint-previous-inputcomint-next-input 函数。它们可以映射到updown 箭头键:

    (define-key comint-mode-map [up] 'comint-previous-input)
    (define-key comint-mode-map [down] 'comint-next-input)
    

    我不知道在复制/粘贴时锁定光标的解决方案。

    如果您真的想要控制台行为,也许您应该简单地使用控制台,因为它符合您的意愿。

    奖励:默认的 Emacs 方式

    我不使用R,但我在Emacs 中使用octaveclojurebash。所有这些 repl (Read–eval–print loop) 的行为方式都相同。例如,箭头键只会移动您的光标。

    以下是我对 repl 用法的简要概述:

    • M-> 会把我带到缓冲区的底部
    • C-<up> 将循环执行之前的命令
    • C-<down> 将循环执行下一个命令
    • C-r keywords 将在缓冲区中向后搜索。如果光标在上一条命令上,<enter> 将重新执行该命令
    • 对于复制/粘贴,我不使用鼠标,而是使用光标所在的M-w(复制)和C-y(粘贴)。 M-y 将用以前复制的条目替换您的粘贴。

    也许,它会改变您使用其他桌面应用程序的习惯或快捷方式。然而,从好的方面来说,这些 repl 在 Emacs 中的行为方式是一致的。每次使用 repl 时,这些键都会按预期完成工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 2020-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多