Как отправить курсор на следующую строку с помощью раскладки Sublime

Я использую раскладку для выполнения текущей строки в возвышенном repl, нажав ctrl+enter. Курсор остается на той же строке. Что мне нужно добавить в раскладку, чтобы курсор перешел на следующую строку (как это происходит в RStudio)?

[
    { "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "lines"}}
]

person dom    schedule 19.05.2016    source источник


Ответы (1)


Я нашел способ сделать это с помощью плагина скрипта Python. Судя по всему, Sublime по умолчанию не имеет возможности запуска нескольких команд под одной раскладкой. Я использовал метод отсюда: https://forum.sublimetext.com/t/run-multiple-commands-command/6848

шаги следующие:

  1. Sublime - Инструменты - Разработчик - Новый плагин

скопируйте код из run_multiple_commands.py, найденный здесь: https://gist.github.com/bgmort/7ae52ea4270f1c404321c20d1b97733c#file-run_multiple_commands-py и сохраните файл под тем же именем, что и на github: run_multiple_commands.py

  1. Sublime - Настройки - Пользователь привязок клавиш

код:

{
  "keys": ["ctrl+enter"],
  "command": "run_multiple_commands",
  "args": {
    "commands": [
      { "command": "repl_transfer_current", "args": {"scope": "lines"} },
      { "command": "move", "args": {"by": "lines", "forward": true} }
    ]
  }
}

или дополнительно добавить [ ], если файл пустой:

[{
  "keys": ["ctrl+enter"],
  "command": "run_multiple_commands",
  "args": {
    "commands": [
      { "command": "repl_transfer_current", "args": {"scope": "lines"} },
      { "command": "move", "args": {"by": "lines", "forward": true} }
    ]
  }
}] 
person dom    schedule 20.05.2016