Google colaboratory 有没有办法在Google Colaboratory中使用Vim键绑定?

Google colaboratory 有没有办法在Google Colaboratory中使用Vim键绑定?,google-colaboratory,Google Colaboratory,GoogleColaboratory是一个令人惊奇的工具,唯一让我不能经常使用它的是没有vim键绑定。有没有一种方法可以像jupyter笔记本电脑和jupyter实验室那样实现这一功能?现在还没有;请随意在上提交一个问题。这里有一个通过JavaScript控制台启用Vim模式的小技巧。令人烦恼的是,每次执行单元格时都需要重新运行它,因此我将ctrl/cmd-enter和shift-enter绑定以执行此操作: function enable_vim() { document.querySelec

GoogleColaboratory是一个令人惊奇的工具,唯一让我不能经常使用它的是没有vim键绑定。有没有一种方法可以像jupyter笔记本电脑和jupyter实验室那样实现这一功能?

现在还没有;请随意在上提交一个问题。

这里有一个通过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();
函数enable_vim(){document.queryselectoral(“.codemirr”).forEach(函数(e){e.codemirr.setOption(“vimMode”,true);}
文档.添加的事件列表器('keydown',函数(e){
if(e.keyCode==13&&e.metaKey | | e.keyCode==13&&e.shiftKey){
对于(变量i=0;i<10;i++)设置超时(启用_vim,1000*i);
}
});
启用_vim();

运行单元格时,请注意处于正常模式(而不是输入模式)。否则,该单元的Vim模式将被永久禁用,您需要重新加载整个web应用程序才能重新启用它。

由于本帖中之前的对话,我已将
autovim
发布到Chrome扩展商店。据我所知,它可以完美地使用永久可见的
codemirr
元素,但对于隐藏和显示的
codemirr
元素仍然是脆弱的,就像Jupyter中的Markdown元素一样

如果您愿意,您可以在此作出贡献:


默认情况下,它现在在google colab中可用。
您可以从工具>设置>编辑器中选择Vim键绑定,或者通过键入Ctrl+M H

谢谢!他们什么时候会将此作为colaboratory的设置?你真是我的救命恩人对于Chrome插件来说,这似乎是一项相当简单的任务。当激活时,检查网站是否存在.codemirr类,并在默认情况下在所有网站上启用vimMode?再次对我自己的评论进行头脑风暴。当用户单击Jupyter代码窗口时,肯定会发出一个事件?可以修改上述脚本,只需为该事件添加一个侦听器,并在任何时候单击单元格时启用vimMode。您是否也可以为Firefox发布相同的扩展名?只是想为该答案添加一个后续内容(现在应该是唯一可接受的一个btw):此功能现在已在任何Colab笔记本上启用。不需要“实验”编辑器。