tmux perubahan warna bilah bawah

80

Saya baru-baru ini mulai menggunakan tmuxdan sangat menyukainya, tetapi bilah dasarnya hijau agak mengganggu, apakah ada cara untuk mengubah warnanya? atau cara untuk menyembunyikannya?

Sam
sumber

Jawaban:

96

Ada banyak opsi yang diberikan dalam manual . (Lihat bagian PILIHAN.) Buat file RC: ~/.tmux.conf. Konten di bawah ini memungkinkan UTF-8, menetapkan jenis TERM yang tepat, dan menggambar bilah status dengan latar belakang hitam dan latar depan putih.

set status-utf8 on
set utf8 on

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

set -g status-bg black
set -g status-fg white

Dalam FreeBSD 10.1, saya harus menambahkan -garahan UTF.

set -g status-utf8 on
set -g utf8 on

Pada UTF-8, banyak klien SSH memerlukan satu untuk secara eksplisit mendefinisikan set karakter untuk digunakan. Misalnya, di Putty, pilih Window -> Translation -> Remote character set: UTF-8dan pilih Use Unicode line drawing code points.

Dan untuk mematikan bilah status ...

set -g status off

Pada warna dari manual ...

warna pesan-bg

Mengatur warna latar belakang pesan baris status, di mana warnanya adalah: hitam, merah, hijau, kuning, biru, magenta, cyan, putih, colour0 hingga colour255 dari palet 256-warna, atau default.

Jadi, untuk membuat daftar warna yang tersedia, pertama buat skrip , mungkin colors.sh:

#!/usr/bin/env bash
for i in {0..255} ; do
    printf "\x1b[38;5;${i}mcolour${i}\n"
done

Selanjutnya, jalankan skrip, perpipaan ke less:

colors.sh | less -r

Ini menghasilkan daftar warna, 1-255, dalam format ini:

colour1
[...]
colour255

Pilih warna dari daftar, mungkin colour240 , warna abu-abu. Di ~/.tmux.conf, gunakan nilai ini untuk mengatur warna yang diinginkan:

set -g status-bg colour240

Di Fedora 17, terminal 256-warna tidak diaktifkan secara default. Metode resmi yang digunakan untuk mengaktifkan terminal 256 warna secara default diberikan pada Fedora Project Wiki . Ikuti panduan itu, atau, sebagai solusi per pengguna, buat alias untuk tmux untuk memaksa dukungan 256-warna dengan sakelar "-2".

alias tmux="tmux -2"

Kemudian mulai tmux untuk mengujinya.

Perhatikan bahwa, seperti yang ditunjukkan oleh @ ILMostro_7, tidak akan benar untuk menetapkan tipe TERM tmuxdari, misalnya ~/.bashrc,. Setiap panel tmux mengemulasi terminal - bukan hal yang sama dengan xterm. Persaingan dalam tmuxkebutuhan untuk mencocokkan layar, deskripsi terminal yang berbeda, untuk berperilaku dengan benar; tetapi, terminal sebenarnya tidak perlu melakukannya. Deskripsi itu adalah xterm-256color.

Christopher
sumber
Ini berfungsi dengan baik untuk Ubuntu, Tapi saya Fedora 17 ketika saya mengatur warna fg ke Gray dikatakan "warna buruk".
Sam
Saya menggunakan metode resmi dari Fedora wiki, dan setiap kali saya mencoba masuk, mengembalikan pesan kesalahan ini: -bash: $ '\ r': perintah tidak ditemukan -bash: $ '\ r': perintah tidak ditemukan -bash: $ ' \ r ': perintah tidak ditemukan -bash: /etc/profile.d/256colors.sh: baris 13: kesalahan sintaks dekat $'in\r'' 'bash: /etc/profile.d/256colors.sh: line 13: case token tak terduga "$ TERM" di. Juga saya menggunakan dua metode lainnya, saya menjalankan tanpa kesalahan tetapi tidak melakukan apapun!
Sam
4
Untuk mengatur bg-color menjadi transparan:set -g status-bg default
Mr Hyde
1
Berikut peta warnanya: github.com/guns/xterm-color-table.vim/blob/master/… Contoh: color260 berwarna oranye. Di Tmux, tekan Control-b, lalu :set -g status-bg colour260. (Tmux menggunakan internasional "warna" vs Amerika "warna.") Juga perhatikan bahwa Tmux memiliki sejarah, untuk memperbarui warna lakukan Control-b, lalu :masuk ke mode perintah, dan tekan panah atas untuk mengedit perintah warna set terakhir.
johntellsall
mungkin menjadi solusi yang lebih baik untuk digunakan xterm-256colordaripada screen-256coloruntuk TERMvariabel lingkungan.
ILMostro_7
24

Bagi saya itu C-b, :set status-style "bg=red".

isomorfisma
sumber
Solusi ini bekerja untuk saya di mac saya dengan os 10.10.5
Reina Abolofia
@ReinaAbolofia Hebat! = D
isomorfisma