#!/usr/bin/env python
# Copyright (C) 2006 by Johannes Zellner, <[email protected]>
# modified by [email protected] to fit my output needs
# modified by [email protected] to fit my output needs
import sys
import os
def echo(msg):
os.system('echo -n "' + str(msg) + '"')
def out(n):
os.system("tput setab " + str(n) + "; echo -n " + ("\"% 4d\"" % n))
os.system("tput setab 0")
# normal colors 1 - 16
os.system("tput setaf 16")
for n in range(8):
out(n)
echo("\n")
for n in range(8, 16):
out(n)
echo("\n")
echo("\n")
y=16
while y < 231:
for z in range(0,6):
out(y)
y += 1
echo("\n")
echo("\n")
for n in range(232, 256):
out(n)
if n == 237 or n == 243 or n == 249:
echo("\n")
echo("\n")
os.system("tput setaf 7")
os.system("tput setab 0")
GNOME 终端支持 256 色,但不宣传它的支持。您可以通过输入以下内容来覆盖 vim 的自动检测:
在你的 ~/.vimrc 中。
注意:如果您使用 GNU screen,它会很乐意吃掉那些 256 色代码并将它们转换为基本的 16 色。更好的解决方法是在启动 screen/vim 之前将 TERM 更改为 xterm-256color。
2017 年更新:如果您有足够新的 Vim(7.4.1799 或更新版本)和足够先进的终端仿真器(xterm,或基于足够新版本的 VTE 的 gnome-terminal),您可以
:set termguicolors
和终端 vim 将使用完整由 vim 主题定义的 24 位颜色,使用highlight guifg=#rrggbb guibg=#rrggbb
.更通用的解决方案是安装术语类型“xterm-256color”。在 10.04 中,我认为它是默认安装的。以前您需要安装“ncurses-term”才能获得它。
然后在 .bashrc 中设置术语类型,如下所示:
如果您希望某些程序仅具有 256 色功能(可能会使其他程序感到困惑),请改用:
并可能将其设置为程序的别名。
然后检查您的终端颜色功能:
您可能仍然需要上面的 vim 设置才能让 vim 识别它。大多数应用程序会自动识别 256 种颜色(如果它们可以使用的话)。
Emacs 还具有更好的颜色主题,有 256 种颜色。要检查它是否支持 256 色运行:
256colors.pl是 Perl 脚本,它将显示终端中的所有颜色。
只需将下面的行包含到您的
$HOME/.bashrc
(最好在文件的最后一行)中:并保存它。之后,重新启动您的 gnome 终端。此更改不仅适用于 vim,而且适用于您的所有终端应用程序。
要检查它是否有效,请运行这个小脚本:
此后,您将看到如下内容(取决于您的 gnome-terminal 主题):
好吧,你总是可以配置 Gvim 让它看起来像 Vim。你只需要创建一个 ~/.gvimrc 文件并在其中粘贴这些自定义技巧:
我认为这不能解决您的问题,但谁知道 ;-)
我为 Vim 制作了一个单独的配置文件,它在背景中使用了纯色、不透明的颜色。我只是在使用 Vim 时手动切换到它。不确定是否有更好的方法。我愿意这样想。