【发布时间】:2020-01-26 10:42:56
【问题描述】:
用例
我想将 ipython notebook 下载为 .py 文件,因为我不喜欢在 jupyter notebook 环境中工作。但我想使用 Vim 和 ipython shell 从 vim 中模拟 jupyter notebook 的使用/功能,特别是关于单个单元/块的执行。
详细来说,这是我想做的:
- 将 jupyter notebook 转换为 .py 文件
- 在 vim 中编辑 .py 文件
- 在 IPython shell 中执行我正在 Vim 中编辑的当前单元格/块,以查看结果。
-
返回编辑.py文件
- 循环 2-4 直到完成,可能转换回 ipynb。
我当前的设置是使用拆分窗口运行 Vim。第一个窗口显示 .py 文件进行编辑,第二个窗口运行 vim 终端窗口 :term 并在第一个窗口下方运行 IPython shell。
这是从 ipython 笔记本转换的 .py 文件的样子:
#!/usr/bin/env python
# coding: utf-8
# In[1]:
import numpy as np
# In[2]:
x = 3
# In[3]:
y = 4
z = 5
我想创建一个 vim 键绑定来检测我当前在 vim 中编辑的 .py 文件中的哪个单元块,突出显示它,将其复制到剪贴板,然后将窗口切换到 IPython shell,如果可能,粘贴它,执行它,然后返回 vim .py 文件编辑器窗口。
我试过了,但没用:
nnoremap <C-y> /# In\[.*\]: <CR> j <C-v> n k "+y
注意:我不想在 jupyter notebook 中使用 vim 键绑定。我想在 vim 内部启用类似 jupyter 的行为和使用。
【问题讨论】:
标签: vim jupyter-notebook