遇到一个小坑,记录一下
我们知道 Jupyter Notebook
是做数据科学任务的神器,整合文档、代码为一体的交互式开发环境。Jupyter Notebook
默认是支持一些快捷键操作的(Default Keymaps ),但是不好的地方是编辑模式下的快捷键远远不够便捷,还得频繁使用鼠标,为了彻底摆脱鼠标,得搬出 Vim
神器(jupyter-vim-binding插件安装)。
jupyter-vim-binding启用状态下,Jupyter分为了三个模式。
- Jupyter模式 (就是 Jupyter 的命令模式,不过也绑定了一些Vim的快捷键)
- Command模式 (类似于 Vim 的 Normal 模式,可以进行光标跳转,查找单词等操作)
- Insert模式 (类似于 Vim 的 Insert 模式,可以进行编辑操作)
在Jupyter 命令模式和Vim快捷键的加持下,如果用的熟练,code基本上可以手不离盘。但是有个小问题,需要注意一下。
我们经常在写一段code之前,会加入一点解释性的Markdown文档,这个时候我们常常使用Jupyter命令模式下的一组高频快捷键。(具体效果)
快捷键 | 含义 |
---|---|
M / m | 切换单元格为Markdown模式 |
Y / y | 切换单元格为code模式 |
R / r | 切换单元格为NBConvert模式 |
在Default Keymaps
下,一切都是正常的。但是在 Vim Keymaps
下,即使退出到Jupyter模式
这几个快捷键也没有生效,这个就很 Amazing!讲道理,快捷键也没有冲突,按下M/m
没有任何反应。于是我把整个键盘的键挨个试了一遍,还真找到了修改后的快捷键操作。不知道为啥网上没有关于这个问题的总结,这里分享给有同样需求的人:
快捷键 | 含义 |
---|---|
0 (大键盘的零) | 切换到Markdown模式 |
1-6 (大键盘的1-6) | 切换到Markdown模式,且自动插入1-6级标题 |
· / ` (esc下面那个键) | 切换到code模式 |
R / r (这个没变) | 切换到NBConvert模式 |
现在配合Jupyter
命令模式和Vim
大法,可以彻底告别鼠标操作了!!!
更新
发现任意打开一个ipynb文件,在 Help->Keyboard Shortcuts选项卡里就有快捷键的帮助文档啊!
你的快捷键配置可能和我的不一样,我这是装了Vim插件后,一部分键重新映射了。