如何撤消/重做 Jupyter 笔记本中选定单元格内的更改?

s99*_*090 9 cell jupyter-notebook jupyter-lab

我在 Windows 10 上使用 Jupyter Notebook(来自 Anaconda JupyterLab)并尝试撤消/重做所选单元格中的更改。但是,我只能撤消/重做整个笔记本中的更改。

例如,我编辑了单元格#1,然后编辑了单元格#2。假设我想撤消单元格#1 中的更改,因此我转到单元格#1 并按 Control+Z,但它会撤消单元格#2 中的更改。

我的朋友用 Mac 就没有这个问题。有这方面的设置吗?我在网上搜索了一下,没有发现有人有同样的问题。太奇怪了!

kra*_*ski 15

这种全局撤消/重做是 JupyterLab 3.1 中添加的一项新功能,可实现实时协作。对于许多用例来说,它确实不是最佳的。

\n

JupyterLab 3.2 允许禁用笔记本范围内的历史记录跟踪(请参阅问题 10791PR 10949),但有一个警告:移动单元时,您可能会丢失撤消历史记录,这就是为什么该设置被标记为实验性的(它需要更多的工作才能完成)默认情况下公开或启用)。要获得选择性撤消/重做,请添加:

\n
{\n    "experimentalDisableDocumentWideUndoRedo": true\n}\n
Run Code Online (Sandbox Code Playgroud)\n

Advanced Settings Editor\xe2\x86\x92中Notebook,保存并重新加载 JupyterLab (如果您在浏览器中使用它,刷新就足够了)。

\n

如果这无法解决问题,您也可以坚持使用 JupyterLab 3.0。要降级,您可以使用 pip:

\n
pip install "jupyterlab<3.1"\n
Run Code Online (Sandbox Code Playgroud)\n

或康达:

\n
conda install -c conda-forge "jupyterlab<3.1"\n
Run Code Online (Sandbox Code Playgroud)\n

但我建议坚持使用 JupyterLab 3.2 并尝试新设置,以便您可以为讨论做出贡献(如果您遇到任何问题或认为可以改进)。

\n