嵌套终端、tmux、ssh、vim设置的颜色方案
在我的本地计算机上,iterm终端包含tmux。在tmux内部,有ssh远程连接。在这个远程连接中,我在服务器端运行tmux。在tmux中,我运行vim 因此,容器关系如下:首先是iterm,然后是tmux,然后是ssh远程连接,然后是tmux,然后是vim嵌套终端、tmux、ssh、vim设置的颜色方案,vim,terminal,tmux,color-scheme,Vim,Terminal,Tmux,Color Scheme,在我的本地计算机上,iterm终端包含tmux。在tmux内部,有ssh远程连接。在这个远程连接中,我在服务器端运行tmux。在tmux中,我运行vim 因此,容器关系如下:首先是iterm,然后是tmux,然后是ssh远程连接,然后是tmux,然后是vim 现在,vim的颜色是如何确定的?哪种应用程序的颜色方案有效?您看到的颜色受终端仿真器的“物理”功能的限制,但它们的数量通常由术语改变,该术语由程序使用,以确定它们的颜色有多花哨 简单地说 当Vim检查您的术语并看到包含256的值时,它假定
现在,vim的颜色是如何确定的?哪种应用程序的颜色方案有效?您看到的颜色受终端仿真器的“物理”功能的限制,但它们的数量通常由
术语改变,该术语由程序使用,以确定它们的颜色有多花哨
简单地说
- 当Vim检查您的
术语
并看到包含256
的值时,它假定您的终端仿真器能够显示256种颜色,并相应地执行操作
- 当您的
术语
为xterm
或屏幕
(除其他外),Vim假定您的终端仿真器只能显示8种颜色,并相应地进行操作
假设本地终端仿真器中当前的术语是xterm-256color
,并且中间*rc
均未设置特定的术语
:
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作为一个终端多路复用器,就像它是一个终端仿真器一样,将您的术语
更改为Tmux的默认值,屏幕
,这个新值就是沿着链传递的值
如果您希望tmux和花式颜色无处不在,则需要将每个tmux配置为使用256色就绪的术语
。在您登录的每台计算机(包括您的计算机)上,将这一行放入~/.tmux.conf
:
set-option -g default-terminal "screen-256color"