素敵なVimカラースキーム( xoria256 )があり、GVimで見栄えがよくなりますが、ターミナルで通常のvim
を使用すると、カラースキームは部分的にしかサポートされません-たとえば、デフォルトのセミ-透明な子の背景色が使用されます。 TerminalでVimカラースキームを忠実にレンダリングするにはどうすればよいですか?
GNOMEターミナルは256色をサポートしていますが、そのサポートを宣伝していません。以下を入力して、vimの自動検出をオーバーライドできます。
if $COLORTERM == 'gnome-terminal'
set t_Co=256
endif
〜/ .vimrcで。
注:GNU画面を使用すると、256色のコードを喜んで食べて、基本的な16色に変換します。より良い修正方法は、screen/vimを起動する前にTERMをxterm-256colorに変更することです。
2017年の更新:十分に最近のVim(7.4.1799以降)と十分に高度なターミナルエミュレーター(xterm、または十分に最近のバージョンのVTEに基づくgnome-terminal)がある場合、 :set termguicolors
と端末vimは、highlight guifg=#rrggbb guibg=#rrggbb
を使用してvimテーマで定義されている完全な24ビットカラーを使用できます。
より一般的な解決策は、用語タイプ「xterm-256color」をインストールすることです。 10.04では、デフォルトでインストールされていると思います。以前は、「ncurses-term」をインストールして取得する必要がありました。
次に、.bashrcで次のような用語タイプを設定します。
if [ -n "$DISPLAY" -a "$TERM" == "xterm" ]; then
export TERM=xterm-256color
fi
特定のプログラムで256色のみを使用したい場合(他のプログラムを混乱させる可能性があります)、代わりに以下を使用してください
TERM=xterm-256color myprogram
そしておそらくそれをプログラムのエイリアスとして設定します。
次に、以下を使用して端末のカラー機能を確認します。
$ tput colors
256
Vimに認識させるには、上記のvim設定が必要な場合があります。ほとんどのアプリケーションは、256色を自動的に認識します(使用できる場合)。
Emacsには、256色の方がはるかに優れたカラーテーマもあります。 256色対応かどうかを確認するには:
M-x list-colors-display
256colors.pl は、端末のすべての色を表示するPerlスクリプトです。
$HOME/.bashrc
に次の行を含めるだけです(ファイルの最後の行が望ましい)。
export TERM="xterm-256color"
保存します。その後、gnome-terminalを再起動します。この変更は、vimだけでなく、すべてのターミナルアプリケーションで利用できます。
動作するかどうかを確認するには、この小さな script を実行します。
#!/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-terminalのテーマによって異なります):
さて、いつでもGvimをVimのように設定できます。 〜/ .gvimrcファイルを作成し、これらのカスタマイズトリックを貼り付けるだけです。
set guioptions-=r " no scrollbar on the right
set guioptions-=l " no scrollbar on the left
set guioptions-=m " no menu
set guioptions-=T " no toolbar
私はこれがあなたの問題を解決するとは思わないが、誰が知っている;-)
背景に単色の不透明な色を使用するVimの個別のプロファイルを作成しました。 Vimを使用するたびに手動で切り替えるだけです。より良い方法があるかどうかはわかりません。そう考えたいです。