Jupyter常用快捷键与常用功能 - mac篇
Jupyter是利用网页编辑、测试python,并生成嵌入式代码的优秀编辑器,通常在安装anaconda集成包时就会直接安装。用浏览器即可访问并编写测试python代码,十分便捷。
本文主要为了记录Jupyter一些常用的快捷键和常用功能,以便大家查询。
熟悉vim编辑器的开发者应该都知道命令模式和编辑模式,jupyter同样继承了这两种模式。1)编辑模式,允许你往单元中键入代码或文本;这时的单元框线是绿色的。2)命令模式,键盘输入运行程序命令;这时的单元框线是灰色。
快捷键
1. 命令模式 (esc开启)
- 转入编辑模式:
Enter
- 查看快捷键帮助文档:
h
- 打开命令调色板:
cmd+shift+p
- 保存文件:
s
orcmd+s
- 在上方插入cell:
a
- 在下方插入cell:
b
- 剪切当前cell:
x
- 删除当前cell:
dd
- 撤销删除:
u
- 上下:方向键 or
jk
(同vim) - 扩展选中上下左右:
shift+jk
- 当前cell转入markdown状态:
m
- 当前cell转入代码状态:
y
- 当前cell装入raw文本状态:
r
- 设置第2级标题:
2
- 复制当前所选:
c
- 粘贴所选到下方:
v
-
转换行号:
l
2. 编辑模式 (enter开启)
- 转入命令模式:
esc
- 复制、粘贴、全选、撤销等:同系统
- 代码提示:
tab
- 删除前一个字符:
back
- 删除后一个字符:
ctrl+d
- 删除前一个单词:
option+back
- 删除后一个单词:
option+d
- 删除当前行光标前所有:
cmd+back
- 运行选中的cells:
ctrl+enter
- 运行当前以上的cells:
可自行设置快捷键
或通过调用命令调色板
3. 其他命令:
- 牢记命令调色板
cmd+shift+p
,便于查询,有时比快捷键好用 - 可自行设置增减快捷键,比如熟悉vim可用vim风格控制
常用功能、使用场景
1. Markdown
Jupyter提供的markdown是一个非常实用的功能,有了markdown可以将写代码和内容编辑非常好的结合,特别代码内容说明,markdown是一种纯文本标记语言,满足标题,公式,字体加粗,颜色甚至流程图和表格的内容编辑;例如,sklearn的API就是使用markdown编写的,能够生成我们想要的公式和字体颜色。
2. Code Cells
Code模式下,除了一般的python代码编辑外,jupyter还支持一些其他的编程语言,如R,Julia,bash等。不过需要使用magic单元。Magic单元分为两种,一种是line magics,另外一种cell magics。Line magic是通过在前面加%,表示magic**只在本行有效**。
Cell magics:通过在前面加%%,表示在整个cell单元有效。比如下图中使用%%bash,产生了linux下的shell环境(window下不支持,不过可以使用%%cmd),这样就可以运行pwd和ls命令了。
其中一些比较常用的magic:
- %matplotline inline在jupyter内打印图片。这一点也是我开始选择Jupyter很重要的原因,毕竟在linux中测试代码,很难直接查看图片,对结果的呈现不够直观。利用matplotlib magic的实例如下图:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
t = np.arange(0.0, 5.0, 0.01)
s = np.cos(2*np.pi*t)
line, = ax.plot(t, s, lw=2)
ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5),
arrowprops=dict(facecolor='black', shrink=0.05),
)
ax.set_ylim(-2, 2)
plt.show()
- %load:将本地py文件代码导入进来,例如 %load test.py。
- %run:运行本地代码,利用这个magic,我们可以把一些头文件,基本设置,共同函数写在不同的notebook内,用的时候运行一下就可以了。相当于利用Jupyter作代码调试。
更多拓展功能
上面已经将jupyternotebook的基本功能和用法都涉及,但是直接使用的话可能会缺少实际工作中必要的依赖。可以点开Nbextensions添加需要的依赖。例如:
- 如果你需要编辑Latex文档,可以add latex environment for jupyter
- 如果你需要拼写检查,可以add spelling cheker等
- 不列举了,宝宝们自己探索发现吧~