Ответ 1
Я не знаю о консоли, но это возможно с помощью SublimeREPL.
Пока вы одновременно открываете REPL и файл того же языка, вы можете отправить строку (или выбор или файл) в ваш открытый REPL через SublimeREPL Ключи исходного буфера. По умолчанию 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 }
]
},
Дополнительную информацию о привязках клавиш см. в Неофициальный документ Sublime Text 2.
В случае, если REPL открыт на другой вкладке, чем ваш источник (а не отдельный вид), горячие клавиши исходного буфера будут не фокусировать REPL. Я уверен, что возможно реализовать какой-то ключ переключения с помощью табуляции, но это звучит как проблема для другого вопроса.