导读
Jupyter一直是个人非常喜爱的coding环境,也着实适用于简单的数据分析和探索。前期分享了个人使用Jupyter的3个实用技巧,今天本文就再来总结6组常用快捷键,其使用频率之高和由之而带来的便捷程度都称得上可观!
在Jupyter lab内,光标有两种模式:一种是光标位于cell内部,此时主要是用于代码编辑;另一种是光标位于cell外部,此时更多是用于对cell进行操作。后续快捷键一般需要注意光标所处状态。
01 ctrl enter vs shift enter vs alt enter
由于jupyter是以一个个cell的形式执行一组代码段落,所以最基础也是最常用的莫过于执行当前cell。达成这一目的的快捷键有三组:ctrl enter、shift enter以及alt enter,其中:
- ctrl enter:在执行完当前cell后光标仍然处于当前cell
- shift enter:执行完之后则自动跳转到下一个cell
- alt enter:执行之后插入新的cell并跳转
据此,可灵活选用三者之一:若是需要顺序执行各个cell,则用shift enter;而如果是为了调试或者循环执行则当使用ctrl enter;当执行之后还需编辑新的内容时则可使用alt enter。
便捷指数:☆☆☆☆☆
常用指数:☆☆☆☆☆
02 A vs B vs DD vs Z
这也是一组操作cell的快捷键,需要在光标处于cell外的情况下操作(与之对应的是光标在cell内,此时即为编辑代码模式),各自用途是:
- A:在当前cell的前面增加一个cell
- B:在当前cell的后面增加一个cell
- DD:删除当前cell
- Z:恢复最近删除的cell
尤其是快捷键DD和Z,这是一对互逆的快捷键,使用起来真称得上是高效。
便捷指数:☆☆☆☆☆
常用指数:☆☆☆☆
03 Esc vs Enter
前面提到的快捷键需要考虑光标在cell内还是外的情况,那么切换这一状态也有相应的快捷键:
- Esc:将光标从cell内切换到cell外,用于后续执行cell级别的控制
- Enter:将光标从cell外切换到cell内,用于后续执行代码编辑
这组快捷键更多是为了使用其他快捷键而进行的状态调整。
便捷指数:☆☆☆☆
常用指数:☆☆☆☆
04 shift M vs ctrl shift -
由于Jupyter由一个个的cell组成,有时为了代码合并或者拆分,需要将多个cell合并成一个cell,或者将一个cell拆分多个cell,此时则可使用如下快捷键:
- shift M:将选中的多个cell合并为一个cell(选中多个cell类似于windows下连选文件,即在按住shift的状态下通过光标控制即可)
- ctrl shift -:将一个cell内的代码段落,依据光标所在行拆分为两个cell
这也可称作是一对互逆操作,但需要注意前者的状态是在光标处于cell外,后者当然是光标处于cell内的某一行代码前。
便捷指数:☆☆☆☆
常用指数:☆☆☆☆
05 Y vs M
Jupyter不仅提供了代码环境,还内嵌了markdown功能,用于增加文本标记或者其他记事本功能有时也是很常用的,为了将一个cell在代码状态和markdown下切换,可使用如下快捷键:
- M:将当前cell切换为markdown,而后即可按照markdown语法来编辑文本了
- Y:将当前cell切换为代码,这也是cell的默认状态。
注意,从外观上区分cell是处于markdown还是代码状态,可从cell前是否有[ ]来加以判断,带[ ]的即为代码,否则则是markdown。另外,这两个快捷键都要求是在光标处于cell外的状态下操作,若光标在cell内可配合Esc使用即可,例如Esc M即为切换markdown。
注:除了代码和markdown两种模式外,jupyter还支持第三种cell模式,即为raw,但个人感觉没什么用!
便捷指数:☆☆☆☆
常用指数:☆☆☆
06 ctrl / vs tab vs shift tab
最后附一组在多数IDE下都通用的快捷键,即注释、增加或减少缩进,以及查看函数提示:
- ctrl /:注释或者解注释,与众多IDE功能相同
- tab:增加缩进
- shift tab:这个快捷键比较常用,如果在代码前方,则用于减少缩进;如果在代码之间的某个函数则可悬浮显示函数提示。这也算是弥补了jupyter不具备函数跳转的一个小功能吧。