Dav*_*gel 100 vim colors command-line
我有一个可爱的 Vim颜色方案 ( xoria256 ),它在 GVim 中看起来很棒,但是当我vim在终端中使用 normal时,仅部分支持颜色方案——例如,使用默认的半透明茄子背景色。如何让终端忠实地呈现我的 Vim 配色方案?
Mar*_*nas 80
GNOME 终端支持 256 色,但没有宣传其支持。您可以通过放置以下内容来覆盖 vim 的自动检测:
if $COLORTERM == 'gnome-terminal'
set t_Co=256
endif
Run Code Online (Sandbox Code Playgroud)
在你的 ~/.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。
Dav*_*ngs 45
更通用的解决方案是安装术语类型“xterm-256color”。在 10.04 我认为它是默认安装的。以前您需要安装“ncurses-term”才能获得它。
然后在 .bashrc 中设置术语类型,如下所示:
if [ -n "$DISPLAY" -a "$TERM" == "xterm" ]; then
export TERM=xterm-256color
fi
Run Code Online (Sandbox Code Playgroud)
如果您希望某些程序仅具有 256 色功能(可能会混淆其他程序),请改用:
TERM=xterm-256color myprogram
Run Code Online (Sandbox Code Playgroud)
并可能将其设置为程序的别名。
然后使用以下命令检查您的终端颜色功能:
$ tput colors
256
Run Code Online (Sandbox Code Playgroud)
您可能仍然需要上面的 vim 设置才能让 vim 识别它。大多数应用程序会自动识别 256 种颜色(如果它们可以使用的话)。
Emacs 也有颜色主题,256 色更好。要检查它是否支持 256 色,请运行:
M-x list-colors-display
Run Code Online (Sandbox Code Playgroud)
256colors.pl是 Perl 脚本,它将在您的终端中显示所有颜色。
crn*_*sta 36
只需$HOME/.bashrc将以下行包含在您的(最好在文件的最后一行)中:
export TERM="xterm-256color"
Run Code Online (Sandbox Code Playgroud)
并保存它。之后,重新启动您的 gnome 终端。此更改不仅适用于 vim,还适用于您的所有终端应用程序。
要检查它是否有效,请运行这个小脚本:
export TERM="xterm-256color"
Run Code Online (Sandbox Code Playgroud)
此后,您将看到类似以下内容(取决于您的 gnome-terminal 主题):
