使用Jupyter近2年,我离不开这6组快捷键

321 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天,点击查看活动详情

导读: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不具备函数跳转的一个小功能吧。

便捷指数:☆☆☆☆☆

常用指数:☆☆☆☆☆