tmux vim colorscheme arka plan göstermiyor


12

Ben tmux yükledim ama şimdi metin modu vim colorschemes arka plan rengini düzgün doldurmuyor. Normal Ubuntu 14.10 terminalindeki colorscheme xoria256 ile şöyle görünür:

resim açıklamasını buraya girin

Ve burada tmux'dan sonra aynı terminalde çalıştırdığımda:

resim açıklamasını buraya girin

Gördüğünüz gibi masaüstü vim'de metin olmayan herhangi bir yerde gösteriyor. 256 renkli bir terminalim var.

Benim .tmux.conf:

~ cat .tmux.conf
set -g mode-mouse on
set -g default-terminal "screen-256color"

256 renkli terminalim var:

~ tput colors
256

Tmux'un normal terminalde iyi çalışan vim 256 renkli renk kimyalarıyla düzgün çalışmasını nasıl sağlayabilirim?


Deneyimlerime göre, tmux içeride fırlatıldığında garip davranıyor gnome-terminal. Tmux'u başlatmayı deneyin TERM=xterm tmuxve farklı davranıp davranmadığını görün. Çalışmazsa xterm, xterm-256colorveya seçeneğini deneyin xterm-color.
jw013

@ jw03 Ne yazık ki bu seçeneklerin hiçbiri bunu düzeltmek için çalışmadı. Özdeş davranış. Terminatör içinde tmux çalıştırırsam aynı davranış
Thomas Browne

1
Tmux içindeki bir kabukta değeri $TERMnedir? Değilse screen-256color, başlatmayı deneyin vimolarak TERM=screen-256color vimdaha sonra emin hiçbir başlangıç komut setleri yapmak, TERM(Emin ilk orijinal değerini denetler arabası yazılımı etrafında işe yapmak bunu yapmak gerekiyorsa veya).
Ry-

@minitech: Bingo. Xterm-256color vardı, ekran-256color ise sorunu çözdü. Bunu bir cevap yaparsanız kabul edeceğim.
Thomas Browne

Yanıtlar:


5

Bu , genellikle bazı kabuk başlangıç ​​komut dosyası tarafından Vim ortamında TERMdoğru screen[-256color]olarak ayarlanmadığında gerçekleşir . Durum buysa - örneğin,

TERM=xterm-256color

, kaldırın veya TERMdeğiştirmeden önce orijinal değerini kontrol ettiğinden emin olun , örn.

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


2

Geç yorum, ama tüm konuları incelemişti ve ben aşağıdaki kadar çözemedim. Tek yapmam gereken ikinci bir kontrol eklemekti.

if [[ $TERM == screen]]; then
    TERM=screen-256color
fi

dosyamdaki ilk koşullu ifadeye ek olarak .bashrc:

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

Ben de vardı .tmux.conf:

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

Benim .vimrcdosyamda:

set term=screen-256color
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.