ipython上的语法颜色

时间:2017-12-23 15:54:34

标签: bash ipython ubuntu-16.04

这已经被我误认了好几天了,到目前为止我在互联网上找到的东西并不能让我满意。

我在两个单独的ubuntu盒子上安装了ipython。每个方框的ipython提示不同。

我通过Windows bash模拟器ssh

通过Cmder到达方框

配置最接近确定的这个框,例如,在输入字符串时它给我语法颜色。

enter image description here

这是配置不是我想要的

的框

enter image description here

阅读文章和问题,似乎我需要在我的Linux帐户的.bashrc文件中添加以下行,以便能够在ipython

中使用语法颜色
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"

我做到了但它在我的第二个框中仍然给了我相同的灰色外观,更糟糕的是,当我在我的linux框中键入ls命令时,我有这个错误

  

ls:无法分析环境变量LS_COLORS的值

有关如何获取ipython的颜色语法的任何想法?

1 个答案:

答案 0 :(得分:5)

最新版本的IPython使用Prompt_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