私はDebian(Jessie)を使用しています。
私の〜/ .vimrcファイルには次のステートメントが含まれています。
colorscheme murphy
私の〜/ .Xresourcesファイルには、次のプロパティが含まれています。
URxvt.background: #000000
URxvt.foreground: #e0e0e0
URxvt.scrollBar: false
URxvt.borderless: true
URxvt.font:xft:Bitstream Vera Sans Mono:pixelsize=16
Rxvt-unicodeターミナル(vim
)内でurxvt
を起動すると、期待どおりの出力が得られます。
しかし、tmux
内でurxvt
を起動してから、tmuxターミナル内でvim
を起動すると、色が明るすぎます。
どうすればこれを修正できますか?
この問題は、rxvt-unicode(urxvt)端末が88色のみをサポートしているのに対し、tmux端末は256色をサポートしているために発生します。
Urxvtからの出力:
susam@nifty:~$ tput colors
88
その結果、tmuxが起動すると、8色しか使用されません
susam@nifty:~$ tput colors
8
次のtmuxコマンドを〜/ .tmux.confに追加しても効果はありません。
set -g default-terminal screen-256color
〜/ .tmux.confのその行では、tmuxが起動すると、256色を使用しているようです。
susam@nifty:~$ tput colors
256
ただし、tmuxは256色を使用しているように見えますが、基盤となるrxvt-unicode(urxvt)端末は88色しかサポートしていないため、正しく表示できないため、役に立ちません。その結果、Vimはまだ明るすぎる色を表示します。
解決策:rxvt-unicode-256colorパッケージをインストールします。
256色をサポートするurxvtターミナルに付属するrxvt-unicode-256colorパッケージがDebianで利用可能です。 rxvt-unicode-256colorをインストールすると、問題が修正されました。
私が使用したコマンド:
aptitude update
aptitude purge rxvt-unicode
aptitude install rxvt-unicode-256color
色が少し変わって見えるようになりました。
しかし、経験はtmuxと一致しています。
スーサムパルの答えは素晴らしく、私のために働いた。ただし、manがイタリックで検索結果を強調表示したため、まだ小さな問題がありました。 tmux-FAQ の最後のエントリによると:
画面のterminfoの説明にはイタリックモードがなく、代わりに目立つモードがありますが、urxvtがイタリックに使用するのと同じエスケープシーケンスを使用しています。
ターミナルからこの問題を修正する方法は次のとおりです(FAQから採用):
$ mkdir $HOME/.terminfo/
$ screen_terminfo="screen-256color"
$ infocmp "$screen_terminfo" | sed \
-e 's/^screen[^|]*|[^,]*,/screen-it-256color|screen with italics support,/' \
-e 's/%?%p1%t;3%/%?%p1%t;7%/' \
-e 's/smso=[^,]*,/smso=\\E[7m,/' \
-e 's/rmso=[^,]*,/rmso=\\E[27m,/' \
-e '$s/$/ sitm=\\E[3m, ritm=\\E[23m,/' > /tmp/screen.terminfo
$ tic /tmp/screen.terminfo
次に、〜/ .tmux.confの次のtmux行を変更します。
set -g default-terminal screen-it-256color