Есть ли способ использовать комбинации клавиш Vim в Google Colaboratory?

Google colaboratory - удивительный инструмент, и единственное, что мешает мне использовать его чаще всего - это отсутствие клавишных клавиш vim. Есть ли способ включить его, как его можно сделать для ноутбуков jupyter и jupyter lab?

Ответ 1

Вот немного взлома, чтобы включить режим Vim через консоль JavaScript. Раздражающе, его нужно повторно запускать каждый раз, когда выполняется ячейка, поэтому я связал ctrl/cmd-enter и shift-enter чтобы сделать именно это:

function enable_vim() { document.querySelectorAll(".CodeMirror").forEach(function (e) { e.CodeMirror.setOption("vimMode", true); }); }
document.addEventListener('keydown', function(e) {
  if (e.keyCode == 13 && e.metaKey || e.keyCode == 13 && e.shiftKey) {
    for (var i = 0; i < 10; i++) setTimeout(enable_vim, 1000 * i);
  }
});
enable_vim();

Просто будьте осторожны, чтобы быть в нормальном режиме (не в режиме ввода) при запуске ячейки. В противном случае режим Vim будет постоянно отключен для этой ячейки, и вам нужно перезагрузить все веб-приложение, чтобы снова включить его.

Ответ 2

Из-за предыдущего разговора в этой публикации я опубликовал autovim в хранилище расширений Chrome. Он работает отлично, насколько я нашел с постоянно видимыми элементами CodeMirror, но по-прежнему CodeMirror элементам CodeMirror которые скрываются и отображаются так же, как и для Markdown в Jupyter.

https://chrome.google.com/webstore/detail/autovim/licohjbphilmljmjonhiifkldfahnmja

Вы можете внести свой вклад здесь, если хотите:

https://github.com/thomcom/autovim

Ответ 4

Теперь он доступен через "экспериментальный" редактор. Чтобы активировать его, нажмите на маленькую бутылочку с логотипом в правом верхнем углу вашего ноутбука, затем нажмите "Попробовать сейчас".

Теперь вы можете выбрать сочетания клавиш Vim в Инструменты> Настройки> Редактор или набрав Ctrl + M H