How to pass a line to the console in sublime text 2 editor

后端 未结 3 1431
南旧
南旧 2021-02-04 08:46

I use RStudio for working with R programming language and find the ctrl+enter shortcut to send a line to the console extremely useful in troubleshooting my work.

3条回答
  •  半阙折子戏
    2021-02-04 09:00

    I don't know about the console, but this is possible with SublimeREPL.

    As long as you have a REPL and a file of the same language open at the same time, you can send a line (or a selection or file) to your open REPL via the SublimeREPL Source Buffer Keys. By default, Ctrl+, followed by l sends the current line to the REPL, but you can change the hotkey to Ctrl+Enter (in Python only, to protect other languages' default Ctrl+Enter functionality) by adding these lines to the top of your Preferences -> Key Bindings – User file:

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

    Other available scopes (from Preferences -> Browse Packages -> SublimeREPL/Default (Windows).sublime-keymap) are selection, file, and block (Clojure only). If you want to send a line to your REPL but not parse it immediately, you can add "action":"view_write" to the args object, like so:

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

    See the Unofficial Sublime Text 2 Docs for more information on key bindings.

    In the case that the REPL is open in a different tab than your source (rather than a separate view), the source buffer hotkeys will not focus the REPL. I'm sure it's possible to implement some sort of tab-swapping toggle key, but that sounds like a problem for another question.

提交回复
热议问题