我一直在尝试在ipython notebook中启用换行。我在谷歌上搜索了一下,没有找到任何结果,然后在终端中输入了ipython notebook --help。这为配置文件提供了大量的配置命令,但没有换行。有人知道ipnotebook是否有这个功能吗?如果有,如何启用它?您的帮助将不胜感激。谢谢。
发布于 2013-12-20 17:08:30
正如@Matt指出的那样,你必须配置CodeMirror来启用包装。
但是,只需将以下行添加到custom.js
中即可实现此目的
IPython.Cell.options_default.cm_config.lineWrapping = true;
因此,不需要遍历所有单元格。以类似的方式,您可以启用line numbers,设置indentation depth等(查看@Matt发布的其他选项的链接)。你的custom.js
的位置取决于你的操作系统(在我的Ubuntu机器上,它是~/.ipython/profile_default/static/custom
)。
更新:
在IPython 3中,普通调用不再起作用,因此需要将设置放在适当的事件处理程序中。一种可能的解决方案可能类似于:
define([
'base/js/namespace',
'base/js/events'
],
function(IPython, events) {
events.on("app_initialized.NotebookApp",
function () {
IPython.Cell.options_default.cm_config.lineWrapping = true;
}
);
}
);
发布于 2015-03-07 05:34:25
为了在IPython3中的笔记本中实现换行,我使用了the answer @Jakob linked above和@Jakob的实际答案。在我的例子中,使用一行代码是行不通的--但是,将以下代码添加到custom.js
中可以:
$([IPython.events]).on('app_initialized.NotebookApp', function(){
IPython.CodeCell.options_default['cm_config']['lineWrapping'] = true;
});
发布于 2013-12-19 16:51:43
大部分notebook都是由CodeMirror驱动的,因此你搜索的选项是this one问题是我们没有简单的方法将配置传递给Codemirror,所以你必须找出一些custom.js
来将配置应用到正确的对象上。
从我的头顶挥手:我会说IPython.CodeCell.default_options.cm
les lineWrapping
to true,然后循环遍历IPython.notebook.get_cells()
(已经实例化的对象),获取它们的editor
属性和setOption('lineWrapping',true)
。
您可以创建一个JS扩展来实现它,并提出(并获得灵感) here。
https://stackoverflow.com/questions/20672537
复制相似问题