如何在sublime text 2编辑器中将一行传递给控制台

时间:2013-05-16 13:53:33

标签: r keyboard-shortcuts sublimetext2

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

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

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

3 个答案:

答案 0 :(得分:9)

我不知道控制台,但SublimeREPL可以实现这一点。

只要您同时打开REPL和同一语言的文件,您就可以通过SublimeREPL Source Buffer Keys向您打开的REPL发送一行(或选择或文件)。默认情况下,Ctrl+,后跟l会将当前行发送到REPL,但您可以将热键更改为Ctrl+Enter(仅限Python,以保护其他语言的默认Ctrl+Enter通过将这些行添加到Preferences -> 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 }
    ]
},

有关键绑定的更多信息,请参阅Unofficial Sublime Text 2 Docs

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

答案 1 :(得分:4)

除了设置自己的密钥绑定外,您只需安装Enhanced-R

即可

在崇高:

  • Cmd + Shift + P (调出命令调色板)
  • 输入“Install Package
  • 导航至Enhanced-R

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

然后,就像你习惯在RStudio中一样,你只需按 Cmd + 输入将代码发送到Console或R.app等

答案 2 :(得分:1)

将原始R代码发送到SublimeREPL现在可以正常工作:

  1. 打开 Cmd / Ctrl + Shift + P 菜单
  2. 选择R Application Switch
  3. 选择SublimeREPL
  4. 当SublimeREPL处于活动状态时,您将能够通过 Cmd / Ctrl + 输入将原始R发送给它。

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

    1. 导航至Preferences -> Package settings -> SublimeREPL -> Settings - User
    2. 开启show_transferred_text设置。
    3. 例如,如果您没有任何其他设置,则您的设置应如下所示:

      {
          "show_transferred_text": true
      }