it-swarm-id.com

Mendapatkan 256 warna untuk bekerja di tmux

Saya memiliki 256 warna yang berfungsi dengan baik di konsole,. Saya pikir saya akan mencoba tmux karena, tidak seperti layar, tampaknya mendukung mode vi. Namun saya menemukan bahwa warna Prompt saya muncul dan ini kemungkinan besar karena saya memiliki Prompt mode 256 warna. Apa yang harus saya lakukan untuk mendapatkan tmux untuk mengenali semua 256 warna?

186
xenoterracide

The Tmux FAQ secara eksplisit menyarankan agar pengaturan JANGKA dari apa pun selain layar atau layar-256color dalam file init Shell Anda, jadi jangan lakukan itu!

Inilah yang saya gunakan:

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

dan di dalam .tmux.conf saya:

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

Mengasingkan tmux ke "tmux -2 "juga harus melakukan trik.

271
cannedprimates

Coba atur 256 warna secara eksplisit di bashrc atau zshrc Anda:

export TERM=xterm-256color

atau

export TERM=screen-256color

Jika Anda memiliki masalah dengan tmux tidak membersihkan warna latar belakang dengan benar saat menggunakan pengaturan istilah layar, Anda dapat mencoba:

export TERM=screen-256color-bce
42
redacted

Sesuai tmux FAQ , tambahkan ini ke ~/.tmux.conf:

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

Kemudian tambahkan alias ini untuk tmux:

alias tmux='tmux -2'

Tidak perlu mengganti variabel TERM di profil Anda atau ketika memulai tmux.

Informasi lebih lanjut: http://vim.wikia.com/wiki/256_colors_setup_for_console_Vim

20
user1338062

Versi terbaru dari ncurses dikirimkan dengan entri terminfo tmux-256color ( FAQ = tidak menyebutkan ini). Sebagai contoh, manfaat menggunakan tmux-256color lebih dari layar-256color adalah bahwa huruf miring ditampilkan dengan benar (layar tidak mendukung huruf miring).

Jadi, jika Anda memiliki paket ncurses terbaru, berikut ini akan berfungsi juga:

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

Bagi orang yang memiliki tmux terbaru, .tmux.conf pilihan dari jawaban yang diterima harus berfungsi.

Saya hanya ingin menambahkan bahwa Anda mungkin perlu me-restart tmux agar konfigurasi baru berlaku:

tmux kill-server && tmux

Menariknya, ini tidak disebutkan di mana pun dalam jawaban dan butuh beberapa saat untuk mencari tahu.

4
mast3r

Catatan yang sangat penting di sini jika Anda menjalankan Ubuntu yang lebih tua dari Bionic (18.04). Jika Anda menjalankan tmux 2.1 atau lebih, dan Anda mungkin, pada dasarnya tidak ada saran yang Anda baca online tentang tmux akan bekerja .. untuk apa pun.

tmux -V adalah ujian mudah untuk ini. Jika kamu melihat 2.1 atau lebih lama, Anda dapat membangun tmux dari sumber, atau Anda dapat menambahkan repositori tidak resmi. Saya memperbarui tmux saya dengan:

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

Secara pribadi, setelah meningkatkan ke 2.6, 1) kunci saya bekerja lebih baik, 2) saran online benar-benar berfungsi, 3) warna saya tidak gila. Perbaikan besar.

(Berikut ini tautan ke halaman repositori, btw): https://launchpad.net/~hnakamur

3
zzxyz

Saya tidak bisa menjelaskan mengapa ini berhasil tetapi itu memecahkan masalah bagi saya.

~/.tmux.conf

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

Ini solusi saya .... Saya mengedit file .bashrc saya dan menambahkan ini

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

Semoga itu bekerja di hatimu

1
Wira Bhakti

Merasa bersyukur atas semua jawaban lain di sini memberi saya petunjuk, tetapi kemudian tampaknya tidak perlu mengubah pengaturan TERM global DAN ~/.tmux.conf.

Saya akhirnya menggunakan alias untuk mengatur TERM hanya ketika saya akan menggunakan tmux. Cukup tambahkan satu garis ini di akhir ~/.bashrc (atau file konfigurasi Shell apa pun yang Anda gunakan).

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

Itu dia. Menariknya, setelah tmux diluncurkan, TERM akan secara otomatis diatur ulang ke "layar", tetapi warnanya tetap bekerja. Jadi saya kira tmux juga akan senang (karena tidak mengacaukan lingkungan JANGKA nya?).

0
RayLuo

Baris berikut dalam ~/.tmux.conf bekerja untuk saya -

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

Diuji pada

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