web-dev-qa-db-ja.com

ソノライズドカラースキームをgnome-terminal、tmux、vimで使用するにはどうすればよいですか?

これに関しては多くの質問がありますが、それは非常に多くの変数があるためです。これが機能するようになる前に、多くのサイトからの指示をつなぎ合わせる必要がありました。

まず、gnome-terminalで16のソラリゼーションカラー定義を簡単に設定できませんでした(順序/マッピングが正しくないことを理解するために、手/クリックだけで設定しました)。修正したら、次に進みます...

次に、ソラリゼーションされた色をvim OKのように機能させましたが、一部のハイライトに奇妙な黒い背景が表示されていました。修正したら、次に進みます...

その後、tmux内で実行すると、vimがv。これは大いに議論されていますが、ほとんどの答え(ほとんどはTERMxterm-256colorsに設定することについて言っています)がうまくいきました。私も最終的にそれを修正しました。

ソラリゼーション は非常に素晴らしいパレットです(ただし、最も暗いベースカラーを暗くし、最も明るくコントラストを高くしたいので、最も明るくしましたが、tmuxの「白」は、調整済みの画面でははるかに黄色すぎていることがわかりました。通常は青すぎるので、典型的な未調整のラップトップ画面!)なので、この質問とその回答を投稿して、私の学習結果を共有します。

25
artfulrobot

ソラリゼーションは非常に特定の色を与えます。あなたは、標準の256色パレットでこれらの色を実際に実現することはできません。これを実現する唯一の方法は、ターミナルエミュレータで正確な色を設定することです。その後、アプリは標準の16色(8 + 8ブライト)を使用していると考えますが、これらはソラリゼーションパレットに正確にマッピングされています。

Gnomeターミナルは、パレットまたはプロファイルをエクスポート/インポートするための非常に簡単な方法を提供していませんが、次のbashスクリプトで実行できます。

#!/bin/sh
DARK_BG='#000014141A1A'
# original: DARK_BG='#00002B2B3636'
LIGHTEST='#FFFFFBFBF0F0'
# original: LIGHTEST='#FDFDF6F6E3E3'

gconftool-2 --set "/apps/gnome-terminal/profiles/Default/use_theme_background" --type bool false
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/use_theme_colors" --type bool false
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/palette" --type string "#070736364242:#D3D301010202:#858599990000:#B5B589890000:#26268B8BD2D2:#D3D336368282:#2A2AA1A19898:#EEEEE8E8D5D5:$DARK_BG:#CBCB4B4B1616:#58586E6E7575:#65657B7B8383:#838394949696:#6C6C7171C4C4:#9393A1A1A1A1:$LIGHTEST"
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/background_color" --type string "$DARK_BG"
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/foreground_color" --type string "#65657B7B8383"

Nb。ここで、Solarizedの最も暗い色と最も明るい色を上書きしました。コメントされているように、必要に応じてオリジナルを使用できます。

十分だ。次に、そのファイルを~.vim/colors/solarized.vimに配置して Solarized vim colors file をインストールします。

これで、colo solarizedでその配色を使用するようにVimに指示できます。しかし、これではうまくいかず、16色のパレットset t_Co=16を使用するようにVimに指示する必要がありました。両方を~/.vimrcファイルに貼り付けました。

これでvimの色は機能しましたが、tmux内で実行された場合は機能しませんでした。

この次のビットは非常に混乱しています。ほとんどのアドバイスはTERMをtmuxの外でxterm-256colorsに設定することについて述べていますが、私がそのときtmuxは起動しませんでした。それも私を混乱させました:ソラリゼーションは256色のパレットが不十分な近似であると言っていませんか?まあ、それは混乱を招くし、とにかく、それはうまくいかなかったので、私は別の方法を進める必要がありました:

以下を含むファイル/tmp/fooを作成します。

xterm-16color|xterm with 16 colors,
    colors#16, use=xterm,

次に、これをSudo tic /tmp/fooでインストールします

最後に、tmuxを次のようにエイリアスします。

alias tmux='TERMINFO=/usr/share/terminfo/x/xterm-16color TERM=xterm-16color tmux -2'

端末、vim、およびvim-inside-tmuxで正しい色を正確に取得しました。 Nb。 -2オプションはtmuxに256カラーパレットを使用するように指示します。これは、env変数が他の方法で指示しているように見えるため、本当に混乱しています...私は本当にわかりません。 Just Worksの美しい色の端末ができたので、その学習曲線に登る必要はありません。

24
artfulrobot

私はこのプロジェクトも見つけました:

https://github.com/sigurdga/gnome-terminal-colors-solarized

ヒントをありがとう:-)

9
DavidG