我使用RStudio处理R编程语言,并找到ctrl+enter
快捷方式向控制台发送一行非常有用的工作。
现在我正在使用sublimetext2,我想在RStudio中做同样的事情,向控制台发送一行。
有没有办法将现有线路发送到控制台或SublimeREPL控制台?
答案 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
)包括selection
,file
和block
(仅限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
:
在崇高:
Install Package
”Enhanced-R
如果您主要使用Sublime R
,那么您可以设置整个应用的默认语法。或者您可以按文件更改它( Cmd + Shift + P ,然后再开始输入Syntax Enhanced R
)
然后,就像你习惯在RStudio中一样,你只需按 Cmd + 输入将代码发送到Console或R.app等
答案 2 :(得分:1)
将原始R代码发送到SublimeREPL现在可以正常工作:
R Application Switch
SublimeREPL
当SublimeREPL处于活动状态时,您将能够通过 Cmd / Ctrl + 输入将原始R发送给它。
请注意,默认情况下,SublimeREPL不会显示发送的代码;它只会告诉你输出。如果您还想查看代码,可以更改用户设置:
Preferences -> Package settings -> SublimeREPL -> Settings - User
show_transferred_text
设置。例如,如果您没有任何其他设置,则您的设置应如下所示:
{
"show_transferred_text": true
}