vim backgroundcolor in tmux - cara memaksa zsh menggunakan layar alih-alih xterm di tmux

1

Saya mengalami masalah yang sama seperti penanya dalam 256 warna mendukung untuk latar belakang vim di tmux .

Dalam terminal normal saya dengan zsh, saya tidak memiliki masalah warna latar belakang vim, tetapi ketika saya menjalankannya di dalam tmux, saya mendapatkan masalah dengan warna latar belakang.

Tampaknya, ada masalah dengan penggunaan screenalih-alih xterm:

Di luar Tmux: echo $TERMhasil di screen
dalam Tmux: echo $TERMhasil dalamxterm

Di .zshrc dan .tmux.conf saya telah saya atur

TERM=screen-256color

tetapi itu tidak mempengaruhi apa pun. (Saya juga mencoba TERM=screen)

Bagaimana saya bisa memaksa tmuxuntuk menggunakan screen?

EDIT: terima kasih kepada htor, saya menambahkan set -g default-terminal "screen"(juga mencoba set -g default-terminal "screen-256color") di .tmux.conf dan .zshrc export TERM=screen-256color.

Sekarang saya dapat:

Di luar Tmux: echo $TERMhasil di screen-256color
dalam Tmux: echo $TERMhasil dalam echoscreen-256color(<- terlihat sedikit aneh, apakah hasilnya benar?)

Apa lagi yang bisa saya lakukan untuk mengatasi masalah warna latar belakang di vim di dalam tmux?

StandardNerd
sumber

Jawaban:

1

Seperti yang dijelaskan di sini , nonaktifkan Background Color Erase (BCE) dengan menghapus t_utopsi terminal (jalankan :set t_ut=di Vim dan kemudian tekan Control+ Luntuk menyegarkan tampilan terminal) sehingga skema warna berfungsi dengan baik ketika Vim digunakan di dalam tmux dan layar GNU.

sunaku
sumber
1

Untuk mengatur variabel terminal default untuk tmuxmengubah Anda .tmux.confke:

set -g default-terminal "screen"

Sintaks shell untuk variabel pengaturan tidak akan berfungsi .tmux.conf. Di Anda, .zshrcAnda harus mengekspor nilai TERMuntuk memastikan semua shell mewarisi nilai ini di lingkungan Anda:

export TERM=screen-256color

sumber
Terima kasih htor, dengan saran Anda saya dapatkan sekarang dengan echo $ JANGKA dalam dan luar tmux "screen-256color". Tapi masalah warna latar belakang vim di dalam tmux masih tetap. Apa lagi yang bisa saya lakukan untuk menghilangkan masalah yang menjengkelkan ini (saya sering menggunakan tmux dan vim)?
StandardNerd
@Lennier Sudahkah Anda mencoba menggunakan xtermsebagai TERMnilai dan screenmasuk tmux? Bisakah Anda memposting pastie .vimrcdi pertanyaan Anda?