IPython - 是否可以实现单行间距?

12

默认情况下,IPython shell在输入之间显示一个空白行:

In [1]: 1 + 1
Out[1]: 2

In [2]: import math

In [3]: math.sqrt(2)
Out[3]: 1.4142135623730951

In [4]: 
有没有办法配置IPython shell,使其在每个命令历史之间不产生空白行?这将显着增加我能在屏幕上看到的历史记录量。

1
神奇的命令 hist(缩写为 history)可以打印输入历史记录,而不包括空行。 - Steve Tjoa
3个回答

8
对于Mac用户,可以在以下路径找到配置文件进行永久编辑: /Users/(你的用户名)/.ipython/profile_default/ipython_config.py
对于Linux用户,路径几乎相同,只需将 /Users/ 替换为 /home/。在命令行中使用 '~' 将适用于任何一种情况 (例如:~/.ipython/...)。
取消注释第164行并删除换行符,使其如下所示:
c.TerminalInteractiveShell.separate_in = ''

虽然这是一个老问题,但对于其他通过谷歌搜索到它的用户(例如我自己)仍然具有相关性,因此我想为Mac和Linux用户添加此答案。


5
您可以使用--nosep选项。例如: C:\Python32\Scripts\ipython3.exe --nosep

4

我正在使用Windows系统,Alok的摘录与我的%USERPROFILE%/_ipython/ipythonrc.ini文件中默认内容的这三行没有区别。

我需要修改的是以下这一行:

separate_in \n

to:

separate_in 0

2
可以使用 "That works"。或者您也可以使用 "nosep 1",它是 "separate_in 0"、"separate_out 0" 和 "separate_out2 0" 的快捷方式(最后两个默认已经为 0)。 - weronika

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接