Как передать строку в консоль в редакторе высочайшего текста 2

Я использую RStudio для работы с языком программирования R и найдите ctrl+enter ярлык для отправки строки на консоль, чрезвычайно полезной для устранения неполадок моей работы.

Теперь я использую sublimetext2, и я хотел бы сделать то же самое в RStudio, отправить строку на консоль.

Есть ли способ отправить существующую строку на консоль или в консоль SublimeREPL?

Ответ 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. Я уверен, что возможно реализовать какой-то ключ переключения с помощью табуляции, но это звучит как проблема для другого вопроса.

Ответ 2

В дополнение к настройке собственных привязок клавиш вы можете просто установить Enhanced-R:

В Sublime:

  • Cmd + Shift + P (для вызова палитры команд)
  • type "Install Package"
  • Перейдите к Enhanced-R

Если вы используете Sublime для большей части всего R, тогда вы можете установить синтаксис по умолчанию для всего приложения. Или вы можете изменить его на один файл (Cmd + Shift + P снова, затем начните вводить Syntax Enhanced R)

Затем, как вы привыкли в RStudio, вы просто нажимаете Cmd + enter, чтобы отправить код на консоль или R.app и т.д.

Ответ 3

Отправка необработанного R-кода в SublimeREPL теперь работает:

  • Поднимите меню Cmd/Ctrl + Shift + P
  • Выберите R Application Switch
  • Выберите SublimeREPL

Когда вы активируете SublimeREPL, вы сможете отправить необработанное R ему с помощью Cmd/Ctrl + Enter.

Обратите внимание, что по умолчанию SublimeREPL не отображает код, который отправляется; он просто покажет вам результат. Если вы хотите также увидеть код, вы можете изменить свои пользовательские настройки:

  • Перейдите к Preferences -> Package settings -> SublimeREPL -> Settings - User
  • Включите параметр show_transferred_text.

Например, если у вас нет других настроек, ваши настройки должны выглядеть так:

{
    "show_transferred_text": true
}