web-dev-qa-db-ja.com

Google ColaboratoryでVimキーバインドを使用する方法はありますか?

Google colaboratoryは素晴らしいツールであり、私がそれをより頻繁に使用できないようにする唯一のことは、vimキーバインディングがないことです。 jupyter Notebooksとjupyter labの場合と同じようにそれを有効にする方法はありますか?

13

JavaScriptコンソールを介してVimモードを有効にするための小さなハックです。厄介なことに、セルが実行されるたびに再実行する必要があるため、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モードがそのセルで永久に無効になり、Webアプリ全体を再ロードして再度有効にする必要があります。

9
Robin Dinse

この投稿での以前の会話のため、autovimをChrome拡張ストアに公開しました。これは、永続的に表示されるCodeMirror要素で見つけた限り完全に機能しますが、CodeMirror要素では不安定ですこれらは、JupyterのMarkdownの場合と同様に表示および非表示になります。

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

必要に応じて、ここに投稿できます。

https://github.com/thomcom/autovim

6
Thomson Comer

今じゃない。今はだめなの; https://github.com/googlecolab/colabtools でお気軽に問題を報告してください。

1
Craig Citro