限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。tmuxTrueColorで表示しようとすると、わりかし対応がめんどうである。Vim、tmux、zsh、ターミナルそれぞれで対応しなければならないからだ。今回はそれぞれどういった対応をすればいいのか紹介する。対応できているか確認するまず以下のコマンドを実行してみてください。bashこのように継ぎ目がなければOKです。下のように階段状になっていたら対応できていません。上でもかなり明白に違いますが、NeoVimでTrueColor対応できていないと更に明らかになります。端末での色には2種類ある。TrueColorいわゆる#ffffff。RGBそれぞれ8ビットを用いて表現する。24ビットカラー(RGB)と、さらに透明度8ビットを合わせた32ビットカラー(RGBA)が存在する。color256色まで表せる方式。256までの数字のみを用いる。xtermやscreenなど、それぞれで色の割り当てが異なっている。対応の順は以下のとおり。colorで表示できない。ターミナル(ターミナルエミュレータ)ターミナルは基本的に設定は要らない。colorに対応しているか調べる必要がある。GitHubここを参考にして、自分のターミナルが対応しているか確認する。いっても、メジャーなターミナルは対応済みなので、よほど変な端末じゃなければ問題ないはず。bash/zsh(bashは軽く確認した程度なので、以下はzshのつもりで見てください)対応は基本的に必要ない。いうより、TERMの値は勝手にzshが決めてくれるので、自分で設定してはいけない。bashも、一度ログインシェルにして確認してみたが、特別設定をせずともTrueColorで表示されたので恐らく対応は要らない。ここで軽く\$TERMについて解説。\$TERMは、sshクライアント側の\$TERMがそのままsshサーバーの\$TERMになる。クライアントがtmuxを起動していた場合、tmuxのdefault-terminalの値がサーバー側の\$TERMになる。ssh"のように設定しておけば、ここで指定した値がサーバー側の\$TERMになる。tmuxtmuxは結構ややこしい。tmuxを起動していないzshでの$TERMの値を指定するまず、terminal-overridesにはtmuxを起動していない状態のzshの\$TERMの値を設定する。ここを間違えるとTrueColorで表示できなくなる。ちなみに、SSHサーバー側のzshでの\$TERMは、SSHクライアント側の値となる。default-terminalで設定した値がtmuxを起動した状態のzshの\$TERMの値となる。この情報を元にitalicなどが適用される。基本的にはtmux-256color(推奨値)に設定しておけばいいが、/usr/share/terminfo以下にtmux-256colorがない場合は別の対応をする必要がある。tmux-256color.terminfoを実行してtmux-256colorの設定を生成する(後述)CentOS7ではncurses-tmuxを入れても対応できなかったので、ticを使って対応した。tmux-256color.terminfoは以下を参考にすると良い。vimvimVimの設定は比較的カンタンである。$TERMがxterm以外のときは以下を設定する必要がある。failed」と出る問題に対応するどうもこんにちは。サーバーの全データをぶっ飛ばしました。限界を究めるブログです。までSNSTwitterGitHubHomepageBlog連載リストプライバシーポリシースターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。