【问题标题】:Command completions are invisible in ipython 5.0命令完成在 ipython 5.0 中是不可见的
【发布时间】:2016-07-24 09:35:48
【问题描述】:

在 ipython 5.0 中,自动补全功能似乎被新的替代了。

现在“os.[tab]”不显示可能的命令列表,但似乎在模块成员之间循环。但是虽然它确实如此,但它似乎在当前行下方显示了一个可能成员的列表,但除了当前选择的成员之外,所有成员在标准终端 (urxvt) 上都是黑底黑字,它在 ipython 4.0 之前就可以正常工作了。

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

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

截图:

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

在 KDE "konsole" 中,它的行为有所不同:

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

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

所以黑色/白色前景色似乎可以工作,但两种灰色调都没有显示。我想知道它是 urxvt 还是 ipython 错误,可能是非标准颜色名称或类似的东西。

【问题讨论】:

  • 您能告诉我们您使用的是什么操作系统,并附上您使用后的终端图像
  • @cel:添加截图

标签: python terminal ipython


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    您的终端配色方案似乎无法处理这种灰色和深灰色背景。我使用默认的 Ubuntu (Mate) 终端,黑底白字,但如果我切换到 white on black 配置文件,此选项卡突出显示效果相同。

    我的 ipython 个人资料包括

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

    我玩过%colors 和个人资料设置,无法摆脱灰色背景。

    所以问题可能出在您的终端配置文件中,或者在 ipython 配置设置中。不知道有没有办法让tab补全恢复到以前的样式。

    【讨论】:

    • 嗯,看起来 ipython 可能有一些硬编码的颜色,而不是使用“前景色”和“背景色”之类的东西。我现在有几个程序,它们真的会询问用户他的背景颜色,以便能够以正确的方式显示内容。但它们中的大多数至少使用黑色和白色作为背景色......
    【解决方案3】:

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

    【讨论】:

    • 欢迎提供指向解决方案的链接,但请确保您的答案在没有它的情况下有用:add context around the link 这样您的其他用户就会知道它是什么以及它存在的原因,然后引用最相关的您链接到的页面的一部分,以防目标页面不可用。 Answers that are little more than a link may be deleted.
    • 不要惊慌,它很容易编辑并包含颜色方案。我还没有测试它,但我认为这是一个可能的解决方案。
    猜你喜欢
    • 2013-08-28
    • 2014-05-18
    • 1970-01-01
    • 2022-01-07
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    相关资源
    最近更新 更多