代码单元格Vim绑定
项目描述
jupyterlab-vim
社区版的 https://github.com/jwkvam/jupyterlab-vim,已更新支持 jupyterlab 2, 3 和 4
笔记本单元格的 vim 绑定
模式
与 vim 类似,Jupyterlab 也有编辑模式和命令模式的区分。Jupyterlab 命令模式是指光标不在特定单元格内,而编辑模式则是在单元格内输入。
此扩展将 Jupyterlab(编辑和命令)模式与标准的 vim 模式(正常、插入、可视)结合。因此,当前的模式集合看起来像:
- Jupyterlab 命令模式
- Jupyterlab 编辑模式
- 插入
- 正常
- 可视
安装
pip install jupyterlab-vim
或者使用 conda/mamba
mamba install -c conda-forge jupyterlab_vim
键绑定
要了解如何修改键绑定,请参阅 modify-keybinds.md 文件。
请注意,除非明确指明 Shift,否则所有键都是小写。例如,Y, Y
是两个小写的 y
,Shift-Y, Y
是一个大写的 Y
后面跟着一个小写的 y
。
此扩展引入的快捷键
Vim Ex 命令
命令 | 动作 |
---|---|
:w[rite] | 保存笔记本 |
:q[uit] | 进入 Jupyter 命令模式 |
Vim 命令绑定
和弦 | 动作 |
---|---|
Ctrl-O, U | 撤销单元格动作 |
- | 在光标处拆分单元格 |
Ctrl-O, - | 在光标处拆分单元格 |
Ctrl-O, D | 剪切单元格 |
Ctrl-O, Y | 复制单元格 |
Ctrl-O, P | 粘贴单元格 |
Ctrl-Shift-J | 扩展下面的标记单元格 |
Ctrl-Shift-K | 扩展上面的标记单元格 |
Ctrl-O, O | 在下面插入单元格 |
Ctrl-O, Ctrl-O | 在上面插入单元格 |
Ctrl-J | 选择下面的单元格 |
Ctrl-K | 选择上面的单元格 |
Ctrl-O, G | 选择第一个单元格 |
Ctrl-O, Ctrl-G | 选择最后一个单元格 |
Ctrl-E | 向下移动单元格 |
Ctrl-Y | 向上移动单元格 |
Ctrl-O, Z, Z | 居中单元格 |
Ctrl-G | 显示工具提示 |
Command/Ctrl-1 | 代码单元格模式 |
Command/Ctrl-2 | Markdown 单元格模式 |
Command/Ctrl-3 | 原始单元格模式 |
Shift-Escape | 离开 Vim 模式 |
Escape, Ctrl-[ | 退出 Vim 插入模式 |
Jupyter 命令绑定
和弦 | 动作 |
---|---|
G, G | 选择第一个单元格 |
Shift-G | 选择最后一个单元格 |
D, D | 删除单元格 |
Y, Y | 复制(剪切)单元格 |
P | 粘贴单元格 |
Shift-P | 在上方粘贴单元格 |
O | 插入单元格 |
Shift-O | 在上面插入单元格 |
U | 撤销单元格动作 |
Ctrl-E | 向下移动单元格 |
Ctrl-Y | 向上移动单元格 |
Z, Z | 居中单元格 |
Z, C | 隐藏代码单元格 |
Z, O | 显示代码单元格 |
Z, M | 隐藏所有代码单元格 |
Z, R | 显示所有代码单元格 |
特别感谢
来自 @jwkvam
我想感谢 Alisue 以及他创建的出色的 vim 绑定 为 Jupyter 笔记本。我希望这个扩展能够达到他设定的高标准。
@jkwvam 是此扩展的原始作者 - 原始版本可以在 这里 查看。当那个版本没有更新时,首先由 @axelfahy 更新,然后移动到这个社区组织。
贡献
欢迎贡献和反馈!
开发安装
注意:您需要 NodeJS 来构建扩展包。使用 conda
安装时
conda install -c conda-forge nodejs
jlpm
命令是 JupyterLab 随附的 yarn 版本,与 JupyterLab 一起安装。您可以使用 yarn
或 npm
替代下面的 jlpm
。
# Clone the repo to your local environment
# Change directory to the jupyterlab_vim directory
# Install package in development mode
pip install -e .
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Rebuild extension Typescript source after making changes
jlpm run build
您可以在不同的终端中同时监视源目录并运行 JupyterLab,以监视扩展源代码的变化并自动重新构建扩展。
# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm run watch
# Run JupyterLab in another terminal
jupyter lab
在运行监视命令时,每次保存的更改都将立即在本地构建并提供给正在运行的 JupyterLab。刷新 JupyterLab 以在浏览器中加载更改(您可能需要等待几秒钟以重新构建扩展)。
默认情况下,jlpm run build
命令为该扩展生成源映射,以便更容易使用浏览器开发者工具进行调试。要为 JupyterLab 核心扩展也生成源映射,您可以运行以下命令
jupyter lab build --minimize=False
卸载
pip uninstall jupyterlab_vim
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
构建分发
jupyterlab_vim-4.1.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | abf2891aafb32f0cb94ad98321ae7ebcbe0cabe523d38d80d569c0a50b85225a |
|
MD5 | 78596c40ceb98423d01fe6de78177a2d |
|
BLAKE2b-256 | 17d83ff5da56fc66a7b751925810c4e4b6a888c8b1e7a7c53b38e5492d1357fd |
jupyterlab_vim-4.1.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 13c29ff1fd385fddf33eb85a8b16441be69c62032870bb97a3054b2cf00ab135 |
|
MD5 | c388cfb1d063437103759615db5e8f08 |
|
BLAKE2b-256 | a62f65805236702729ebaa19ba34bd977a4582df2a020a365f8cc49445de2a8d |