代码之家  ›  专栏  ›  技术社区  ›  Andy K Haimei

ipython上的语法颜色

  •  3
  • Andy K Haimei  · 技术社区  · 8 年前

    这几天来一直困扰着我,到目前为止,我在互联网上找到的东西都不能让我满意。

    我已安装 ipython 在两个单独的ubuntu框上。每个框上的ipython提示都不同。

    我正在通过 ssh 通过Windows bash模拟器, Cmder

    此框中的配置最接近ok。例如,当键入字符串或其他内容时,它为我提供了语法颜色。

    enter image description here

    这里的配置不是我想要的

    enter image description here

    阅读文章和问题,似乎我需要在文件中添加下面的行 .bashrc 在我的linux帐户中,可以在 伊皮顿

    export LS_COLORS = "no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:ex =00;36"
    

    我这样做了,但在我的第二个框中,它仍然给我同样的灰色前景,更糟的是,当我键入a时 ls 命令,我有这个错误

    ls:无法分析环境变量ls\u COLORS的值

    我该怎么做才能得到颜色语法 伊皮顿 ?

    1 回复  |  直到 8 年前
        1
  •  7
  •   Matt    8 年前

    IPython的最新版本使用Prompt\u toolkit,它通过Pygments提供颜色。您需要向IPython传递一个选项来选择“主题”,您将看到以下内容。

    如果您发布 ipython --help

    --colors=<CaselessStrEnum> (InteractiveShell.colors)
      Default: 'Neutral'
      Choices: ['Neutral', 'NoColor', 'LightBG', 'Linux']
      Set the color scheme (NoColor, Neutral, Linux, or LightBG).
    

    意思是你可以通过 --colors 标记或设置 c.InteractiveShell.colors=... 在您的配置中。

    如果您发出 In[1]: %config TerminalInteractiveShell :

    TerminalInteractiveShell.highlighting_style=<Union>
        Current: 'legacy'
        The name or class of a Pygments style to use for syntax highlighting. To see
        available styles, run `pygmentize -L styles`.
    

    它控制IPython的主题突出显示。(使用 --TerminalInteractiveShell.highlighting_style=... 在提示下,或设置 c.TerminalInteractiveShell.highlighting_style-... 在配置文件中)。

    请记住,用于显示颜色的转义控制序列可能与所有终端模拟器都不兼容,并且IPython的某些部分(尤其是回溯)不尊重主题(是的,我们知道,我们计划在某个时候修复这一点,但需要重构的代码相当多)。

    请记住,ANSI代码有两种颜色。“真彩色”,即告诉终端仿真器字符的R、G、B值和“短颜色”。告诉终端仿真器角色的颜色是8种预定义颜色之一。这8种预定义颜色取决于终端仿真器本身,有时可以从终端仿真器首选项中更改。看见 wikipedia 例如颜色的变化。