web-dev-qa-db-ja.com

tmuxで256色を動作させる

256色でkonsole,。 screenとは異なり、tmuxモードをサポートしているようなので、viを試してみようと思いました。ただし、プロンプトの色が表示されることがわかりました。これは、256色モードのプロンプトがあるために発生する可能性が高いです。 tmuxに256色すべてを認識させるにはどうすればよいですか?

186
xenoterracide

Tmux FAQ は、シェルの初期化ファイルでTERMをscreenまたはscreen-256color以外に設定しないように明示的にアドバイスしているので、しないでください!

これが私が使うものです:

~$ which tmux
tmux: aliased to TERM=xterm-256color tmux

そして私の.tmux.confに:

set -g default-terminal "screen-256color"

tmuxを "tmux -2"にエイリアス化することも有効です。

271
cannedprimates

Bashrcまたはzshrcで256色を明示的に設定してみてください。

export TERM=xterm-256color

または

export TERM=screen-256color

画面の用語の設定を使用するときにtmuxが背景色を正しくクリアしないという問題がある場合は、次のことを試してください。

export TERM=screen-256color-bce
42
redacted

tmux FAQ に従って、これを~/.tmux.confに追加します。

set -g default-terminal "screen-256color"

次に、このtmuxのエイリアスを追加します。

alias tmux='tmux -2'

プロファイルまたはTERMを開始するときにtmux変数をオーバーライドする必要はありません。

追加情報: http://vim.wikia.com/wiki/256_colors_setup_for_console_Vim

20
user1338062

Ncursesの最新バージョンには、tmux-256colorterminfoエントリが付属しています( [〜#〜] faq [〜#〜] はこれについて言及しています)。例として、tmux-256colorscreen-256colorよりも使用する利点は、イタリックが適切にレンダリングされることです(画面はイタリック体をサポートします)。

したがって、最新のncursesパッケージを使用している場合は、以下も機能します。

set -g default-terminal "tmux-256color"
13
Gabriel Parent

最新のtmuxを持っている人は、.tmux.conf受け入れられた回答のオプションが機能するはずです。

新しい設定を有効にするには、おそらくtmuxを再起動する必要があることを追加しておきます。

tmux kill-server && tmux

興味深いことに、これは回答のどこにも記載されておらず、理解するのにしばらく時間がかかりました。

4
mast3r

Bionic(18.04)より古いUbuntuを実行している場合は、ここで本当に重要な注意事項です。 tmux 2.1以前を実行していて、おそらくそうである場合、基本的に、tmuxについてオンラインで読むアドバイスは何も機能しません。

tmux -Vは、このための簡単なテストです。 2.1以前が表示される場合は、ソースからtmuxをビルドするか、非公式リポジトリを追加できます。私は自分のtmuxを次のように更新しました:

Sudo add-apt-repository ppa:/hnakamur/tmux
Sudo apt update
Sudo apt upgrade

個人的には、2.6にアップグレードした後、1)キーがうまく機能している、2)オンラインアドバイスが実際に機能している、3)色が異常ではない大きな改善。

(これはリポジトリページへのリンクです、btw): https://launchpad.net/~hnakamur

3
zzxyz

これが機能する理由を説明できませんでしたが、問題は解決しました。

〜/ .tmux.conf

set-option -g default-command bash
2
John Snow

これが私の解決策です...私は.bashrcファイルを編集してこれを追加します

if [ "$TERM" != "xterm-256color" ]; then
      export TERM=xterm-256color
    fi

うまくいけば、それはあなたのもので動作します

1
Wira Bhakti

ここで他のすべての回答に感謝し、ヒントを与えてくれますが、グローバルTERM設定と~/.tmux.confを変更する必要はないようです。

Tmuxを使用しようとしているときにのみ、エイリアスを使用してTERMを設定しました。このワンライナーを~/.bashrc(または使用するシェル構成ファイル)の最後に追加するだけです。

alias tmux='TERM=xterm-256color tmux'

それでおしまい。興味深いことに、tmuxの起動後、TERMは自動的に「画面」にリセットされますが、色は機能します。したがって、tmuxも(TERM環境を台無しにしないために)喜んでいると思います。

0
RayLuo

~/.tmux.confの次の行は私のために働きました-

set -g default-terminal "xterm-256color"
set-option -ga terminal-overrides ",xterm-256color:Tc"

テスト済み

  • Tmux 2.7、Ubuntu 16.04、18.04
  • Tmux 2.9、CentOS
0
user3496912