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

R 如何在sublime text 2编辑器中将一行传递到控制台,r,keyboard-shortcuts,sublimetext2,R,Keyboard Shortcuts,Sublimetext2,我使用RStudio处理R编程语言,并发现ctrl+enter快捷方式可以向控制台发送一行代码,这在排除工作故障方面非常有用 现在我正在使用SublimiteText2,我想在RStudio中做同样的事情,向控制台发送一条线路 有没有办法将现有线路发送到控制台或SublimeREPL控制台?我不知道控制台的情况,但这是有可能的 只要您同时打开了一个REPL和一个相同语言的文件,您就可以通过SubmizerePL向打开的REPL发送一行(或一个选择或文件)。默认情况下,Ctrl+,后跟l会将当前行

我使用RStudio处理R编程语言,并发现
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
如果您使用Sublime主要用于
R
,那么您可以为整个应用程序设置默认语法。或者您可以根据每个文件更改它(再次使用Cmd+Shift+P,然后开始键入
语法增强的R


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

将原始R代码发送到SublimeREPL即可:

  • 打开Cmd/Ctrl+Shift+P菜单
  • 选择
    R应用程序开关
  • 选择
    submiterepl
  • 当SublimeREPL处于活动状态时,可以使用Cmd/Ctrl+Enter将原始R发送到它

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

  • 导航到
    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
    。干杯