molten-nvim
molten-nvim用于与 jupyter 内核交互来运行代码。
安装
他需要一些必备的 Python 包,因此推荐在虚拟环境中使用(venv conda 都可以),之后需要安装:
pip install pynvim
: 用于通过 Nvim 的远程 API 来与 Jupyter 进行交互pip install jupyter_client
: 用于与 Jupyter 进行交互
之后只需要在 Nvim 配置文件中配置:
Lua
return {
"benlubas/molten-nvim",
version = "^1.0.0", -- use version <2.0.0 to avoid breaking changes
build = ":UpdateRemotePlugins",
init = function()
-- this is an example, not a default. Please see the readme for more configuration options
vim.g.molten_output_win_max_height = 12
end,
ft = "python",
keys = {
{ "<Leader>mi", "<cmd>:MoltenInit<CR>", desc = "Initialize Kernel" },
{ "<Leader>ml", "<cmd>:MoltenEvaluateLine<CR>", desc = "Evaluate Line" },
{ "<Leader>mr", "<cmd>:MoltenReevaluateCell<CR>", desc = "Re-evaluate Cell" },
{ "<Leader>mr", "<cmd>:MoltenEvaluateVisual<CR>", mode = "v", desc = "Evaluate Visual Selection" },
{ "<Leader>md", "<cmd>:MoltenDelete<CR>", desc = "Delete Cell" },
{ "<Leader>mh", "<cmd>:MoltenHideOutput<CR>", desc = "Hide output" },
{ "<Leader>mo", "<cmd>:noautocmd MoltenEnterOutput<CR>", desc = "Show/Enter Output" },
},
}
每次使用都需要 :UpdateRemotePlugins
来启用远程,之后还需要 :MoltenInit
来激活内核。
命令说明
映射 | 命令 | 描述 |
---|---|---|
<Leader>mi |
:MoltenInit python3 |
为当前缓冲区初始化内核 |
- | :MoltenDeInit |
取消当前缓冲区内核(关闭 nvim 时会自动调用) |
<Leader>ml |
:MoltenEvaluateLine |
评估当前行的 Python 代码 |
<Leader>mr |
:MoltenReevaluateCell |
重新评估当前单元格的 Python 代码 |
<Leader>mr (可视模式) |
:MoltenEvaluateVisual |
评估选定区域的 Python 代码(可视模式) |
<Leader>md |
:MoltenDelete |
删除当前单元格 |
<Leader>mh |
:MoltenHideOutput |
隐藏输出窗口 |
<Leader>mo |
:noautocmd MoltenEnterOutput |
显示或进入输出窗口 |
- | :MoltenEvaluateCell |
评估当前单元格的 Python 代码 |
- | :MoltenRestartKernel |
重启当前内核 |
- | :MoltenInterruptKernel |
中断当前内核 |
- | :MoltenClearOutput |
清除输出窗口 |