tmux、Vim、Solarizedの周りを閲覧して、多くの不満を見つけることができます256色と「ユーザーエクスペリエンス」。さて、私は反対の「問題」を抱えています。つまり、Vimは完全なSolarizedテーマでうまく機能しますonly intmux。
Ubuntu端末とGuakeの配色を少し調整して調整してきましたが、私がtmuxを使用しているときに到達する完璧さ、つまりこれは常に意味します。私は今理解しようとしていますなぜこれは起こっています。
以下に2つのターミナルがあり、左側の1つだけが実行されていますVim(現在の.vimrc
)Vimがtmuxセッション内で実行中です。はっきりとわかるように、tmuxセッションでのみ、フォントは太字になります。これは、correct(またはそうではないですか) 。
tmuxが太字フォントを使用できるのに、tmuxが実行されているターミナルでは使用できないのはなぜですか?それはバグですか、それとも機能ですか?
それはバグです。
「正しい」視覚化は左側にあるように見え、太字フォントはではありませんレンダリングされます。私が理解できること( ここ は参照)について、太字の属性は、元々、8つの基本色のhighlightedバージョンを設定するために使用されていました。
歴史的に、太字のバージョンの8つのデフォルトANSI色と明るいバージョンの8つのデフォルト色の間には1対1の対応がありました。かつて、カラープログラムが太字のテキストの表示を要求したとき、端末エミュレーターは、テキストを何よりも明るいバージョンで表示する(そしてユーザーがそれを太字として解釈することを期待する)ことは、太字の書体。
基本的に、ここで起こっていることは、フルSolarizedパレットをorange、purpleおよびgreyのすべてのレベル、色はbold属性で呼び出され、次に、ANSIパレットのalternative8色を参照します。
Terminalはこれを正しく理解し、orangeとcomment greyを表示しますnormal組版、tmuxは不必要なboldフォントを追加します。結論として、左側は正しいですが、右側は正しくありません。
tmuxのボールドレンダリングをdisableする方法はありますか?
私はまだそれについていくつかの調査を行う必要があり、何かを見つけたらすぐにこの回答を更新します。
そして、ここに解決策があります! :)
tmuxを正しく動作させるには、これを呼び出して、256色対応の環境にいることを伝える必要があります。
TERM=xterm-256color /usr/bin/tmux
便宜上、これをalias
にすることができます(つまり、alias tmux="<the line above>"
を~/.bashrc
に追加します)。
tmux
をtmux -2
として呼び出し、tmuxを256色サポートで実行するように強制します(TERM
環境変数を再定義する代わりに) 「太字の代替」8色を正しく解釈できないようにします(明るい色のバリエーションも太字の組版になります)。したがって、both256色の解釈と太字でない「太字の代替」色。