ipython上的语法颜色

问题描述 投票:2回答:1

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

我在两个独立的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的颜色语法的任何想法?

bash ipython ubuntu-16.04
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.