在neovim terminal中运行jupyter notebook
将jupyter notebook转换为.py
notebook似乎是json格式, 不便于看. 用jupytext. 这个bash脚本做了封装. 放在PATH环境变量下即可. 用法:
jbnc -f py file.ipynb # 需要-f参数, 否则不知道是哪种脚本
jbnc pp.py # percent格式, 即# %%
send命令到neovim terminal
至少有好几个插件. 试了好几个, 我选了neoterm插件. 最主要的命令就是:Tnew和配置文件中出现的. 并且配合hydrogen使用, 后者提供了一个text object, ah
和ih
. 识别的是# %%
, 也就是jupytext中的percent格式.
neoterm的配置是:
nmap gxx <Plug>(neoterm-repl-send) " gxxih就执行了一个# %%块
vmap gxx <Plug>(neoterm-repl-send) " 执行选中内容
nnoremap gxc :TREPLSendLine<CR> " 执行当前行
nnoremap gxf :TREPLSendFile<CR> " 执行选中内容, 和前面重复了, 可以去掉
let g:neoterm_default_mod = 'botright' " 通过:Tnew创建的terminal在当前buffer下方
let g:neoterm_bracketed_paste = 1
快捷键可以自行修改. 最后一行g:neoterm_bracketed_paste
的设置非常重要, 我鼓捣了3个小时(不得不说我是个傻子), 才发现它的重要性. 比如这个函数:
def sin_expansion(x, n):
"""
Evaluate the nth order Talyor series expansion
of sin(x) for the numerical values in the array x.
"""
return s.lambdify(sym_x, s.sin(sym_x).series(n=n+1).removeO(), 'numpy')(x)
如果没有这个选项, 没法正确执行, 因为缩进逐渐增大. 加上这个选项, 才可以正确执行. 原因可以见这个变量的帮助.
标签:
vim
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2020-12-29 python到底是解释型语言还是需要编译的?