tmux、VimおよびSolarized


19

施設

周りをブラウズtmuxはVimのSolarized私は256色と「ユーザー体験」文句をたくさん見つけることができます。さて、私は反対の「問題」を抱えています。つまり、Vimtmuxでのみ完全なSolarizedテーマで動作します。

バックグラウンド

UbuntuターミナルとGuakeのカラースキームを少し調整して調整しましたが、tmuxを使用しているときに到達する完璧に近づきました。私は今これが起こっている理由を理解しようとしています。

以下に2つのターミナルがあります。左側の1つはVimのみを実行し(現在のを表示.vimrc)、もう1つはtmuxセッション内でVimを実行しています。はっきりとわかるように、tmuxセッションでのみフォントが太字になっていますが、これは正しいと思います(そうではないでしょうか?)。

ここに画像の説明を入力してください

質問

tmuxが太字フォントを許可しているのにtmuxが実行されている端末では許可されないのはなぜですか?バグですか、それとも機能ですか?


echo $TERMinとoutの出力は何tmuxですか?
jasonwryan

tmuxのは言うscreen一方で、端末が言うxterm:)
Atcold

OPの他の質問読ん@jasonwryan ここと似たものにジルの答えここに。どうやら$TERM関係ないようです。
テルドン

@terdonこの場合、マテリアルです。tmuxでは、用語をscreen(またはvariant)に設定し、xtermをデフォルトで8色の用語にする必要があります。OPが違いを見ているのはそのためです。
jasonwryan

を入れxterm*termName: xterm-256colorて、~/.Xresourcesそれが違いを
生む

回答:


22

短い答え

バグです。

完全な答え

「正しい」視覚化は左側のようで、太字フォントはレンダリングされていないようです。私が理解できること(ここが参照です)のために、太字の属性は元々、8つの基本色のハイライトされたバージョンを設定するために使用されました。

歴史的に、太字バージョンの8つのデフォルトANSIカラーと明るいバージョンの8つのデフォルトカラーとの間には1対1の対応がありました。カラープログラムで太字の表示が要求されていた当時、ターミナルエミュレーターは、おそらくテキストを表示するよりもテキストの色が明るいバージョンを表示する(そしてユーザーが太字として解釈することを期待する)方が簡単だったでしょう太字の書体。

基本的には、どのようなここで起こっていることは完全に使用するためには、ということですSolarizedパレットを、とオレンジとすべてのレベルのグレー、色がで呼び出されボールド属性ひいてはを指し、代替の8色ANSIパレット。

端末はこれを正しく理解し、通常の組版ではオレンジコメントグレーを表示ますが、tmuxは不必要な太字フォントを追加します。結論として、左側は正しく、右側は正しくありません。

質問2

tmuxの太字レンダリングを無効にする方法はありますか? 私はまだそれについていくつかの研究をしなければなりません、そして私は何かを見つけたらすぐにこの答えを更新します。

回答2

そして、ここに解決策があります!:)

持つためにtmuxは正常に動作し、私たちは環境を有効に256色になっていることを彼に言って、それを呼び出す必要があります。

TERM=xterm-256color /usr/bin/tmux

便宜上、これを行うことができaliasます(つまり、に追加alias tmux="<the line above>"します~/.bashrc)。

tmuxは、太字でない「太字代替」色を正しく解釈します

tmuxasを呼び出すとtmux -2、(環境変数を再定義する代わりに)tmuxを256色のサポートで実行TERMするために、「太字代替」8色を正しく解釈できません(つまり、明るいバリアントは太字の組版を持ちます)。したがって、正確な256色の解釈太字でない「太字代替」色の両方を得るために、上記のソリューションを使用することを強くお勧めします。


多くの愛の男!
shxfee 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.