R 如何在sublime text 2编辑器中将一行传递到控制台
我使用RStudio处理R编程语言,并发现R 如何在sublime text 2编辑器中将一行传递到控制台,r,keyboard-shortcuts,sublimetext2,R,Keyboard Shortcuts,Sublimetext2,我使用RStudio处理R编程语言,并发现ctrl+enter快捷方式可以向控制台发送一行代码,这在排除工作故障方面非常有用 现在我正在使用SublimiteText2,我想在RStudio中做同样的事情,向控制台发送一条线路 有没有办法将现有线路发送到控制台或SublimeREPL控制台?我不知道控制台的情况,但这是有可能的 只要您同时打开了一个REPL和一个相同语言的文件,您就可以通过SubmizerePL向打开的REPL发送一行(或一个选择或文件)。默认情况下,Ctrl+,后跟l会将当前行
ctrl+enter
快捷方式可以向控制台发送一行代码,这在排除工作故障方面非常有用
现在我正在使用SublimiteText2,我想在RStudio中做同样的事情,向控制台发送一条线路
有没有办法将现有线路发送到控制台或SublimeREPL控制台?我不知道控制台的情况,但这是有可能的 只要您同时打开了一个REPL和一个相同语言的文件,您就可以通过SubmizerePL向打开的REPL发送一行(或一个选择或文件)。默认情况下,
Ctrl+,
后跟l
会将当前行发送到REPL,但您可以将热键更改为Ctrl+Enter
(仅在Python中,以保护其他语言的默认Ctrl+Enter
功能),方法是将这些行添加到首选项->键绑定–用户
文件的顶部:
{ "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "lines"}, "context":
[
{ "key": "selector", "operator": "equal", "operand": "source.python", "match_all": true }
]
},
其他可用范围(从首选项->浏览软件包->SublimeREPL/Default(Windows).sublime键映射
)包括选择
、文件
和块
(仅限Clojure)。如果您想向REPL发送一行,但不想立即解析它,可以向args
对象添加“action”:“view\u write”
,如下所示:
{ "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "lines", "action": "view_write"}, "context":
[
{ "key": "selector", "operator": "equal", "operand": "source.python", "match_all": true }
]
},
有关键绑定的详细信息,请参阅
如果REPL是在与源不同的选项卡(而不是单独的视图)中打开的,则源缓冲区热键将而不是聚焦REPL。我确信可以实现某种选项卡交换切换键,但这听起来像是另一个问题的问题。除了设置自己的键绑定之外,您只需安装
Enhanced-R
:
庄严地说:
- Cmd+Shift+P(打开命令选项板)
- 键入“
”安装软件包
- 导航到
Enhanced-R
R
,那么您可以为整个应用程序设置默认语法。或者您可以根据每个文件更改它(再次使用Cmd+Shift+P,然后开始键入语法增强的R
)
然后,就像您在RStudio中习惯的那样,只需按Cmd+enter键即可将代码发送到控制台或R.app etc将原始R代码发送到SublimeREPL即可:
R应用程序开关
submiterepl
Preferences->Package settings->submiterepl->settings-User
show_transfered_text
设置{
"show_transferred_text": true
}
那太好了。谢谢你@Gragorninja。一个快速的后续问题-是否可以同时获得这两个函数。因此,我希望将该行发送到控制台,并在执行之前查看它。谢谢,我是说对不起REPL@TahnoonPasha对将第二个较大的代码段添加到
键绑定–用户
文件中,并将的“键”
值调整为希望发送但不计算键的值,例如,ctrl+shift+enter
。然后,ctrl+enter
将发送并计算该行,而ctrl+shift+enter
将发送并不计算该行。如果您对自定义按键不感兴趣,则默认的“发送但不评估”组合键为ctrl+shift+,
后接l
。谢谢@grandorninja我想我一定是做错了什么。当我执行发送和求值时,它不会在REPL终端中回显,它只是求值并在完成时返回一个额外的>
。我所希望的是,如果我有导入imaplib,我会看到导入imaplib,然后是一个新的>
。您的代码预期会有这种效果吗?再次感谢您的帮助。@TahnoonPasha噢!我的错误;我误解了你的要求。我不认为你想要的在SublimeREPL的当前状态下是可能的——我看了源代码,你可能不得不写一个命令链接插件,尽管你想要的看起来像是一个简单的需求。希望有人能证明我错了。对不起,我帮不了你了!谢谢@grandornija,仍然非常有用,能够逐行发送。感谢您的帮助。使用SublimeREPL,我可以在Sublimere文本中打开R控制台,增强型R有类似的选项吗?@adibender您可以同时使用SublimeREPL
和Enhanced-R
。就我个人而言,我已经放弃了sublimeREPL
,因为处理窗口大小越来越烦人。我宁愿有两个窗口,我可以CMD tab
(或CMD-`
)在两个窗口之间进行回复,但我不能完全让它工作。我可以通过SublimeREPL打开R,也可以通过增强型R向Rgui发送R代码,但不能将R代码发送到SublimeREPL R控制台(通过增强型R快捷方式)。但是,如果我再尝试几次就不能让它工作的话,我会发布一个问题……我已经很久没有使用sublimeREPL了,所以我真的不知道。看看键绑定和首选项。毕竟,它是开源的:)嘿@RicardoSaporta我可以问一下,你知道如何让sublime将代码发送到macOS终端而不是R gui吗?我试图将增强的R程序包设置更改为“App”:“Terminal”
,但每当我点击cmd+enter时,它仍然会打开并使用R.App
。干杯