5分钟快速上手 Jupynium.nvim:Neovim 与 Jupyter Notebook 无缝集成教程

📅 2026/7/21 21:45:18 👁️ 阅读次数 📝 编程学习
5分钟快速上手 Jupynium.nvim:Neovim 与 Jupyter Notebook 无缝集成教程

5分钟快速上手 Jupynium.nvim:Neovim 与 Jupyter Notebook 无缝集成教程

【免费下载链接】jupynium.nvimSelenium-automated Jupyter Notebook that is synchronised with Neovim in real-time.项目地址: https://gitcode.com/gh_mirrors/ju/jupynium.nvim

Jupynium.nvim 是一款将 Neovim 与 Jupyter Notebook 实时同步的强大工具,通过 Selenium 自动化技术实现零妥协的开发体验。本文将带您快速掌握 Jupynium.nvim 的安装配置和核心用法,让您在 Neovim 中享受 Jupyter Notebook 的交互式开发便利。

🚀 为什么选择 Jupynium.nvim?

Jupynium.nvim 不同于传统的 Jupyter Notebook 插件,它通过浏览器自动化技术实现 Neovim 与 Notebook 的实时双向同步,让您无需离开 Neovim 即可享受交互式编程体验。主要优势包括:

  • 实时同步:在 Neovim 中输入的代码会即时反映到 Jupyter Notebook
  • 零配置依赖:无需安装 Jupyter 扩展或修改内核
  • 多环境支持:可连接本地或远程 Jupyter 服务,支持多种编程语言内核
  • 丰富功能:包含代码单元格管理、自动滚动、内核交互等实用功能

📋 准备工作

在开始前,请确保您的系统满足以下要求:

  • Neovim >= v0.8
  • Firefox 浏览器(目前仅支持 Firefox)
  • Python >= 3.9
  • Jupyter Notebook >= 6.2(暂不支持 Jupyter Lab)
  • Mozilla geckodriver(通常随 Firefox 一起安装)

您可以通过以下命令安装必要的 Python 包:

pip install notebook nbclassic jupyter-console

⚡ 快速安装步骤

1. 克隆项目仓库

git clone https://gitcode.com/gh_mirrors/ju/jupynium.nvim

2. 使用插件管理器安装

以 lazy.nvim 为例,在您的 Neovim 配置中添加:

{ "kiyoon/jupynium.nvim", build = "pip3 install --user .", }, "rcarriga/nvim-notify", -- 可选,用于通知 "stevearc/dressing.nvim", -- 可选,用于内核选择UI

其他插件管理器(如 vim-plug 或 packer)的安装方法可参考项目文档。

3. 基础配置

Jupynium.nvim 提供了合理的默认配置,您可以通过以下 Lua 代码进行基础设置:

require("jupynium").setup({ -- 默认使用系统 Python python_host = vim.g.python3_host_prog or "python3", -- 使用 nbclassic 界面(兼容 Notebook 7+) default_notebook_URL = "localhost:8888/nbclassic", -- 自动附加到服务器 auto_attach_to_server = { enable = true, file_pattern = { "*.ju.*", "*.md" }, }, })

完整配置选项可查看 lua/jupynium/init.lua 文件。

🎯 核心使用指南

创建 Jupynium 文件

Jupynium 使用 Jupytext 的 percent 格式,创建扩展名为.ju.py的文件即可启用 Jupynium 功能:

touch my_notebook.ju.py nvim my_notebook.ju.py

启动并连接服务器

在 Neovim 中打开.ju.py文件后,执行以下命令启动并连接 Jupyter 服务器:

:JupyniumStartAndAttachToServer

这将自动打开 Firefox 浏览器并启动 Jupyter Notebook 服务。

开始同步

执行以下命令开始 Neovim 与 Jupyter Notebook 的同步:

:JupyniumStartSync

现在您可以在 Neovim 中编辑代码,更改将实时同步到浏览器中的 Notebook。

基本操作

  • 创建代码单元格:在 Neovim 中输入# %%并按 Enter
  • 执行单元格:使用默认快捷键<space>x
  • 清除输出:使用默认快捷键<space>c
  • 保存为 ipynb:执行:JupyniumDownloadIpynb

📝 Jupynium 文件格式

Jupynium 文件遵循 Jupytext 的 percent 格式,主要元素包括:

  • 代码单元格:以# %%开头
  • Markdown 单元格:以# %% [md]# %% [markdown]开头
  • 魔法命令:以# %开头(如# %time

示例:

# %% [md] """ # 这是 Markdown 单元格 这是一段 Markdown 内容 """ # %% # 这是代码单元格 import numpy as np import matplotlib.pyplot as plt # %% # %time data = np.random.randn(1000) plt.hist(data, bins=30) plt.show()

⌨️ 常用快捷键

Jupynium.nvim 提供了丰富的默认快捷键:

  • <space>x:执行选中单元格
  • <space>c:清除选中单元格输出
  • <PageUp>/<PageDown>:滚动 Notebook
  • <space>js:滚动到当前单元格
  • <space>os:滚动到输出区域
  • <space>K:悬停查看变量信息

您可以通过设置use_default_keybindings = false来自定义快捷键。

🔧 高级配置

配置补全

要在 nvim-cmp 中使用 Jupyter 内核补全,添加以下配置:

local cmp = require "cmp" cmp.setup { sources = { { name = "jupynium", priority = 1000 }, -- 优先级高于 LSP { name = "nvim_lsp", priority = 100 }, }, }

折叠单元格

Jupynium 提供了与 nvim-ufo 兼容的折叠 API:

require("jupynium").get_folds()

具体配置方法可参考项目文档中的折叠设置部分。

📌 注意事项

  1. 单向同步:仅支持 Neovim 到 Notebook 的同步,不要在浏览器中直接编辑
  2. 保持主页打开:Jupynium 需要访问 Jupyter 主页来管理文件,请勿关闭
  3. 自动保存:建议启用自动下载 ipynb 功能,避免数据丢失
  4. 多文件同步:可同时同步多个文件,每个文件对应一个 Notebook 标签页

🛠️ 故障排除

如果遇到 Firefox 无法启动的问题,请检查 Selenium 配置:

from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.selenium.dev/selenium/web/web-form.html")

对于 Ubuntu 用户,可能需要安装非 snap 版本的 Firefox 或配置 geckodriver 路径。

🎉 结语

Jupynium.nvim 为 Neovim 用户提供了与 Jupyter Notebook 无缝集成的解决方案,让您在享受 Neovim 高效编辑体验的同时,也能利用 Jupyter 的交互式开发优势。通过本文介绍的快速上手步骤,您已经掌握了 Jupynium.nvim 的基本使用方法。

更多高级功能和配置选项,请参考项目文档 docs/ 目录下的详细说明。祝您使用愉快!

【免费下载链接】jupynium.nvimSelenium-automated Jupyter Notebook that is synchronised with Neovim in real-time.项目地址: https://gitcode.com/gh_mirrors/ju/jupynium.nvim

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考