在IPython / Jupyter笔记本中显示行号


139

在IPython / Jupyter Notebook中运行的大多数语言内核的错误报告都指出发生错误的行;但是(至少默认情况下)在笔记本电脑中没有显示行号。

是否可以将行号添加到IPython / Jupyter Notebook?


这也将是有用的改变IPython的笔记本电脑的默认行为,使得它在默认情况下显示行数
哥达

Answers:


169

CTRL- ML在CodeMirror区域中切换行号。有关其他键盘快捷键,请参见快速帮助。

更详细地讲CTRL- M(或ESC)将您带入命令模式,然后L按键将切换当前单元格行号的可见性。在较新的笔记本电脑版本中,Shift-L应切换所有单元格。

如果您忘记了快捷方式,请调出命令面板Ctrl-Shift+PCmd+Shift+P在Mac上为Mac,然后搜索“行号”),它应该允许切换并显示快捷方式。


83
对于Ipython 3(Jupyter),在命令模式(Esc)中,您只需按“ L”即可切换行号
Julien Marrec 2015年

7
是否有办法来自动添加行号的所有单元格中的木星
ChathuraG

1
使用Ctrl-m h以显示IPython的笔记本电脑所有的键盘快捷键。或者,您可以单击QuckHelp顶部显示快捷方式
nexayq

Ctrl-Shift+P为胜利
openwonk

81

在IPython 2.2.0上,只需在命令模式(通过键入Esc激活)中键入l(小写L)即可。有关其他快捷方式,请参见[帮助]-[键盘快捷方式]。

另外,您可以设置默认行为以通过编辑显示行号custom.js


4
我不明白这个答案是如何被接受的(也许发布得太晚了?),因为如果您不使用CodeMirror而是仅使用IPython Notebook,那么这是正确的答案。编辑:实际上,IPython Notebook使用CodeMirror。因此,两个答案都是正确的。今天学到新东西,谢谢!
令人惊讶的2014年

谢谢,这适用于Chrome的jupyter笔记本。这似乎最简单...
user391339

37

View->中选择切换行号选项 Toggle Line Number

菜单看起来像这样


1
我简直不敢这么简单。不知道为什么按行显示错误时默认情况下未启用它。如果笔记本仅突出显示给出错误的行,那将很好。
Kaito

9

要在启动时默认打开所有单元中的行号,我建议使用此链接。我引用:

  1. 导航到jupyter配置目录,您可以通过在命令行中键入以下内容来找到该目录:

    jupyter --config-dir
  2. 从那里打开或创建custom文件夹。

  3. 在该文件夹中,您应该找到一个custom.js文件。如果没有,则应该可以创建一个。在文本编辑器中将其打开并添加以下代码:

    define([
        'base/js/namespace',
        'base/js/events'
        ],
        function(IPython, events) {
            events.on("app_initialized.NotebookApp",
                function () {
                    IPython.Cell.options_default.cm_config.lineNumbers = true;
                }
            );
        }
    );

8

为了我, ctrl + m用于将网页另存为png,因此无法正常工作。但是我找到了另一种方式。

在工具栏上,有一个名为打开命令paletee的底部,您可以单击它并键入该行,并在此处看到切换单元格的行号。


7

这是了解活动快捷方式的方法(取决于您的操作系统和笔记本电脑的版本,它可能会更改)

Help > Keyboard Shortcuts > toggle line numbers

在运行ipython3的OSX上, ESC L


1

您还可以Toggle Line NumbersView浏览器的Jupyter笔记本顶部工具栏上的下找到。这将添加/删除所有行号笔记本单元。

对我而言,Esc+ l仅添加/删除了活动单元格的行号。


1

正在寻找这个:Shift-L在JupyterLab 1.0.0中


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.