podczas używania vima w tmux widzę, że obsługa 256 kolorów jest włączona. z kolorami $ tput
Jednak zmiana schematu kolorów w vimie w tmuxie zmieni schemat kolorów w oparciu o linię, ale nie całe tło. patrz zrzut ekranu
Oto na przykład fragment mojego pliku .vimrc. Mój oryginalny colorscheme jest solaryzowany na ciemno, a następnie po uruchomieniu: colorscheme molokai widzisz, co się dzieje.
informacje
- terminal gnome
- grzmotnąć
w moim ~ / .tmux.conf
set -g default-terminal "screen-256color"
w moim ~ / .vimrc
set t_Co=256
w moim ~ / .bashrc
# ryan
export TERM="xterm-256color"
# ryan
alias tmux="tmux -2"
w moim ~ / .profile
# ryan 256 color support
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
export TERM='xterm-256color'
else
export TERM='xterm-color'
fi
Jakieś pomysły, jak mogę uzyskać pełną zmianę kolorów w vimie? Czy wszystkie moje fragmenty z plików wyglądają dobrze?
Odpowiedzi:
Z wyglądu twojego .bashrc i .profile, powłoki wewnątrz tmux zastępują ustawienie 'default-terminal' w twoim tmux conf. Coś takiego:
TERM=screen-256color
TERM=xterm-256color
możesz to sprawdzić, uruchamiając
w świeżej powłoce tmux.
Tmux jest dość wybredny, jeśli chodzi o prawidłowe ustawienie terminala. Jeśli możesz, ustaw wartość terminu w konfiguracji gnome-terminal, a nie w twoim .bashrc. W przeciwnym razie ustaw te ustawienia, zaznaczając pole „screen” lub „screen-256color” TERM, i nie resetuj ich w tym przypadku.
Tmux NAPRAWDĘ chce ustawić terminal na
screen
lubscreen-256color
źródło
set -g default-terminal "screen-256color"
linię w swoim tmux conf.if [[ $TERM == xterm ]]; then TERM=xterm-256color; fi
, zadziałało dla mnie.Jak wyjaśniono tutaj , wyłącz wymazywanie koloru tła (BCE), usuwając
t_ut
opcję terminala (uruchom:set t_ut=
w Vimie, a następnie naciśnij Control+, Laby odświeżyć ekran terminala), aby schematy kolorów działały poprawnie, gdy Vim jest używany na ekranie tmux i GNU.źródło
set t_ut=
do mojego vimrc, co eliminuje potrzebę ręcznego używania polecenia i nie ma potrzeby używania <kbd> Control </kbd> + <kbd> L </kbd>, ponieważ sesja rozpoczyna się z wyłączonym BCE.Znalazłem lepszy sposób na ten post . Możesz utworzyć alias tmux, do
tmux -2
którego zmusi tmux do przyjęcia, że powłoka używa 256-kolorowego terminala.źródło
Właśnie to działało dla mnie w #Ubuntu i #Mac:
Załaduj ponownie ustawienia:
Skonfiguruj plik .bashrc dla komputerów Mac (tak jak jest używany przez Tmux)
Ustaw opcję „default-terminal” w ~ / .tmux.conf.
źródło
Szybką poprawką jest uruchomienie następujących czynności w terminalu.
export TERM=xterm-color
Możesz dodać go do swojego
~/.bash_profile
lub innego profilu, aby zawsze był ustawiony na starcie.źródło
.zshrc
aby tryb wizualny był rzeczywiście widoczny.Miałem bardzo podobny problem dla gnome-terminal + tmux + vim, ale został rozszerzony również na konkretny problem kombinacji klawiszy:. Musiałem połączyć kilka rzeczy razem. po pierwsze musiałem skonfigurować mój plik .tmux.conf w:
Następnie w .vimrc:
I to wystarczyło dla klawiszy i tła.
źródło
Jeśli nadal masz problemy: zauważyłem, że vim wraca do używania opcji
t_Co=8
wewnątrz tmux, nawet jeśli$TERM
jest ustawiony nascreen-256color
. Moim obejściem jest ten fragment kodu w vimrc:$TMUX
Zmiennej jest wypełnione tylko wtedy, gdy w środku sesji tmux. W tym przypadku zezwalam vimowi na użycie 256 kolorów. Zauważ, że rozbrajam również termguicolors, ponieważ tmux nie obsługuje prawdziwych kolorów.źródło
Właśnie teraz stanął przed tym samym problemem. Na podstawie odpowiedzi Bloya i aktualnej zawartości mojego ~ / .profile (w rzeczywistości jest to to samo, co winchendonsprings ') rozwiązałem mój problem w następujący sposób:
~/.profile
:Logika jest prosta: jeśli nie jesteśmy w sesji tmux, użyj xterm (kolorowe lub nie). W przeciwnym razie to samo dotyczy ekranu.
Może to zbyt gadatliwe, ale masz pomysł.
źródło