命令完成在ipython5.0中是不可见的

2024-05-12 19:05:19 发布

您现在位置:Python中文网/ 问答频道 /正文

在ipython5.0中,自动完成功能似乎被一个新的函数所取代。在

现在“os.[tab]”不显示可能的命令列表,但似乎在模块成员之间循环。但是,虽然它确实存在,但它似乎在当前行下面显示了一个可能的成员列表,但是除了当前选择的一个之外,在标准终端(urxvt)上,除了当前选中的一个外,其他所有的都是黑底黑的,它在ipython4.0上工作过,还没过多久。在

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

ipython是debianlinux上python2virtualenv中的新安装。在

截图: enter image description here

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

在KDE“konsole”中,它的行为有所不同: enter image description here

在xterm(默认为白色背景)中,字体颜色是相同的,因此这不取决于终端颜色方案。在

我重置了我的urxvt设置,得到了一个默认的白色终端:

因此,黑/白前景颜色似乎有效,但两种灰色色调都不显示。我想知道是不是urxvt或者ipython的bug,可能是用了非标准的颜色名称或者类似的东西。在


Tags: 模块函数命令功能终端列表标准os
3条回答

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

Repeated tab还可以逐步浏览列表(逐列)。太长而无法在窗口上显示的列表具有<>边缘标记。我可以在你的屏幕截图上看到>。在

我没有完全调整,但是对于长列表(例如整个os)来说,它比以前的less风格的分页要好。在

看起来你的终端配色方案不能处理这种灰色和深灰色背景。我使用默认的Ubuntu(Mate)终端,黑白相间,但是如果切换到white on black配置文件,这个选项卡高亮显示的效果是一样的。在

我的ipython档案包括

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

我玩过%colors和配置文件设置,无法摆脱灰色背景。在

所以问题可能出在您的终端配置文件中,或者ipython配置设置中。我不知道是否有办法将制表符补全恢复到以前的样式。在

使用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实例时,将使用新颜色。在

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

相关问题 更多 >