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

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

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

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 и сохраните файл под тем же именем, что и на 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} }
    ]
  }
}] 
Другие вопросы по тегам