13

我使用 RStudio 来处理 R 编程语言,并找到了ctrl+enter向控制台发送一行的快捷方式,这对我的工作进行故障排除非常有用。

现在我正在使用 sublimetext2,我想在 RStudio 中做同样的事情,向控制台发送一行。

有没有办法将现有线路发送到控制台或 SublimeREPL 控制台?

4

3 回答 3

10

我不知道控制台,但可以使用SublimeREPL

只要您同时打开一个 REPL 和一个相同语言的文件,您就可以通过 SublimeREPL Source Buffer Keys向您打开的 REPL 发送一行(或选择或文件) 。默认情况下,Ctrl+,将当前行发送到 REPL,但您可以通过将这些行添加到文件顶部来l将热键更改为Ctrl+Enter(仅在 Python 中,以保护其他语言的默认功能) :Ctrl+EnterPreferences -> Key Bindings – User

{ "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "lines"}, "context":
    [
        { "key": "selector", "operator": "equal", "operand": "source.python", "match_all": true }
    ]
},

其他可用范围(来自Preferences -> Browse Packages -> SublimeREPL/Default (Windows).sublime-keymap)是selectionfileblock(仅限 Clojure)。如果你想向你的 REPL 发送一行但立即解析它,你可以添加"action":"view_write"args对象中,如下所示:

{ "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "lines", "action": "view_write"}, "context":
    [
        { "key": "selector", "operator": "equal", "operand": "source.python", "match_all": true }
    ]
},

有关键绑定的更多信息,请参阅非官方的 Sublime Text 2 文档

如果 REPL 在与源不同的选项卡中打开(而不是单独的视图),则源缓冲区热键不会聚焦 REPL。我确信可以实现某种选项卡交换切换键,但这听起来像是另一个问题的问题。

于 2013-05-16T16:15:11.460 回答
4

除了设置自己的键绑定之外,您还可以简单地安装Enhanced-R

在崇高:

  • Cmd++ (ShiftP出命令面板)
  • 输入“ Install Package
  • 导航Enhanced-R

如果您将 Sublime 主要用于R,那么您可以为整个应用程序设置默认语法。或者您可以按文件更改它(再次Cmd+ Shift+ P,然后开始输入Syntax Enhanced R

然后,就像您在 RStudio 中习惯的那样,您只需点击Cmd+enter即可将代码发送到控制台或 R.app 等

于 2013-10-27T08:41:28.167 回答
1

现在可以将原始 R 代码发送到 SublimeREPL:

  1. 调出Cmd/Ctrl++菜单ShiftP
  2. 选择R Application Switch
  3. 选择SublimeREPL

当您激活 SublimeREPL 时,您将能够使用Cmd/Ctrl+将原始 R 发送给它Enter

请注意,默认情况下,SublimeREPL 不会显示发送进来的代码;它只会显示输出。如果您还想查看代码,可以更改用户设置:

  1. 导航Preferences -> Package settings -> SublimeREPL -> Settings - User
  2. 打开show_transferred_text设置。

例如,如果您没有任何其他设置,您的设置应如下所示:

{
    "show_transferred_text": true
}
于 2014-01-19T18:59:43.757 回答