[英]Color scheme of a nested terminal, tmux, ssh, vim setup
在我的本地計算機上,iterm終端包含tmux。 在tmux里面,有ssh遠程連接。 在這個遠程連接中,我在服務器端運行tmux。 在那個tmux中,我運行vim。
所以,容器關系如下:首先是iterm,然后是tmux,然后是ssh遠程連接,然后是tmux,然后是vim。
現在,vim的顏色是如何確定的? 哪種應用有效的配色方案?
您看到的顏色很好地受到終端仿真器的“物理”功能的限制,但它們的數量通常由TERM
環境變量改變,程序使用它來確定它們在着色中的可能性。
用簡單的術語......
當Vim檢查你的TERM
並看到一個包含256
的值時,它假定你的終端仿真器能夠顯示256種顏色並相應地動作。
當您的TERM
是xterm
或screen
(以及其他)時,Vim假定您的終端仿真器只能顯示8種顏色並相應地采取行動。
假設您在本地終端仿真器中的當前TERM
是xterm-256color
並且沒有中間*rc
設置特定的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作為終端多路復用器,就好像它是一個終端仿真器,並將你的TERM
更改為tmux的默認值, screen
,並且新值是沿鏈傳遞的值。
如果你想在任何地方使用tmux 和奇特的顏色,你需要配置每個tmux使用256色准備好的TERM
。 在您登錄的每台計算機上將此行放在~/.tmux.conf
中,包括您的:
set-option -g default-terminal "screen-256color"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.