2014-09-13 11 views
5

Na moim lokalnym komputerze terminal iterm zawiera tmux. Wewnątrz tmux istnieje zdalne połączenie ssh. W tym zdalnym połączeniu uruchamiam tmux po stronie serwera. Wewnątrz tego tmuxa uruchamiam vima.Schemat kolorów zagnieżdżonego terminalu, tmux, ssh, konfiguracja vima

Tak więc relacja kontenera jest następująca: Najpierw iterm, następnie tmux, następnie ssh zdalne połączenie, następnie tmux, a następnie vim.

Teraz, w jaki sposób są określane kolory vim? Który schemat kolorów jest skuteczny?

Odpowiedz

6

Widoczne kolory są ograniczone przez "fizyczne" możliwości emulatora terminala, ale ich liczba jest ogólnie zmieniana przez zmienną środowiskową TERM, która jest używana przez programy do określenia, w jaki sposób mogą one wyglądać elegancko .

W prostych słowach ...

  • kiedy Vim sprawdza TERM i widzi wartość zawierającą 256, to zakłada się, że emulator terminala jest zdolny do wyświetlania 256 kolorów i działa odpowiednio.

  • gdy TERM jest xterm lub screen (między innymi), Vim zakłada Twój emulator terminala jest zdolny tylko do wyświetlania 8 kolorów i działa odpowiednio.

Zakładając swoją aktualną TERM w lokalnym emulatorze terminala jest xterm-256color i żaden pośrednika *rc ustawia specyficzny TERM:

WHERE         TERM    COLORS 
-------------------------------------------------------------- 
local         xterm-256color 256 
local > vim       xterm-256color 256 
local > remote      xterm-256color 256 
local > remote > vim     xterm-256color 256 
local > remote > remote > remote > remote > remote > remote > 
> remote > remote > remote > remote xterm-256color 256 
local > remote > tmux     screen   8 
local > remote > tmux > vim   screen   8 
local > tmux       screen   8 
local > tmux > vim     screen   8 
local > tmux > remote     screen   8 
local > tmux > remote > tmux   screen   8 
local > tmux > remote > tmux > vim screen   8 

tmux, jako terminal multiplekser, działa tak, jakby to był zacisk emulatora i zmienia domyślną wartość tmux na TERM, a nowa wartość jest przekazywana wzdłuż łańcucha.

Jeśli chcesz, aby tmux i w fantazyjnych kolorach wszędzie, musisz skonfigurować każdy tmux, aby użyć 256 kolorów-ready TERM. Ustaw tę linię na ~/.tmux.conf na każdej maszynie, na której się logujesz, w tym na:

set-option -g default-terminal "screen-256color" 
Powiązane problemy