命令完成在ipython 5.0

时间:2016-07-24 09:35:49

标签: python terminal ipython

在ipython 5.0中,自动完成功能似乎被新的替换。

现在" os。[tab]"不显示可能的命令列表,但似乎循环通过模块成员。虽然它确实如此,它似乎在当前行下方显示了可能成员的列表,但除了当前选择的所有成员之外的所有成员在标准终端(urxvt)上都是黑色的黑色,在使用ipython 4.0之前就好了。

如何调整(非活动项目的颜色)或返回旧的完成模式?

ipython是Debian linux上python2 virtualenv的全新安装。

截图: enter image description here

当我再次按Tab键时,os.abort被隐藏,下面的os.access变为亮白色。点击选项卡几次,然后再向下,然后使用os.chdir跳转到下一列。看起来像这种(不同的)标签完成的预期行为,但非活动条目的颜色是错误的。

在KDE" konsole"它的行为有所不同: enter image description here

在xterm(默认为白色背景)中,字体颜色相同,因此不依赖于终端颜色方案。

我重置了我的urxvt设置并使用默认的白色终端:

因此黑/白前景色似乎有效,但不会显示两种灰色调。我想知道它是一个urxvt或ipython错误,可能是非标准的颜色名称或类似的东西。

3 个答案:

答案 0 :(得分:2)

对于具有全彩色支持的版本,Debian有一个单独的包rxvt-unicode-256color。使用此版本,ipython颜色是正确的。

答案 1 :(得分:1)

在我的终端(Ubuntu linux)上,完成列表在灰色背景上显示为黑色文本。上/下键滚动浏览此选项,当前选择出现在IN行上,并以深灰色的白色文本突出显示。

重复选项卡也会逐步浏览列表(逐列)。太长而无法在窗口上显示的列表具有<>边缘标记。我可以在屏幕截图中看到>

我没有完全调整,但对于长列表(例如整个os),它比以前的less分页样式更好。

看起来您的终端配色方案无法处理此灰色和深灰色背景。我使用黑色白色的默认Ubuntu(Mate)终端,但如果切换到white on black个人资料,此选项卡突出显示的效果相同。

我的ipython个人资料包括

c.TerminalInteractiveShell.color_info = True  (default)
c.TerminalInteractiveShell.colors = 'LightBG'

我使用了%colors和个人资料设置,并且无法摆脱灰色背景。

所以问题可能在您的终端配置文件或ipython配置设置中。我不知道是否有办法将标签完成恢复为之前的风格。

答案 2 :(得分:0)

使用urxvt反向视频的替代方法是使用以下.Xdefaults自定义调色板:

urxvt*foreground: white
urxvt*background: black

*color0:  #2E3436
*color1:  #a40000
*color2:  #4E9A06
*color3:  #C4A000
*color4:  #3465A4
*color5:  #75507B
*color6:  #ce5c00
*color7:  #babdb9
*color8:  #555753
*color9:  #EF2929
*color10: #8AE234
*color11: #FCE94F
*color12: #729FCF
*color13: #AD7FA8
*color14: #fcaf3e
*color15: #EEEEEC

http://bastian.rieck.ru/blog/posts/2013/making_urxvt_beautiful/中所述。

将它们放入您的~/.Xdefaults文件中,然后通过xrdb .Xdefaults激活它们。下次打开urxvt实例时,将使用新颜色。