Vim 需要一些关于tmux的澄清吗

Vim 需要一些关于tmux的澄清吗,vim,configuration,tmux,Vim,Configuration,Tmux,我今天刚安装了tmux,使用起来有点困难。 在终端窗口的最底部(我使用的是iTerm2),它显示以下内容:[13]0:zsh* 13是什么意思?我知道有13件事被挽救了。我不知道它们是窗口、窗格还是会话。我不知道;我想把它们全部清除,也就是说,我想让它说[0]0:zsh* 另外,vim在tmux中看起来非常糟糕。我看到您需要运行命令:set-g default terminal“screen-256color”,但它不起作用。维姆航空公司看起来也很糟糕。但是,如果没有运行tmux,vim看起来就

我今天刚安装了tmux,使用起来有点困难。 在终端窗口的最底部(我使用的是iTerm2),它显示以下内容:
[13]0:zsh*

13是什么意思?我知道有13件事被挽救了。我不知道它们是窗口、窗格还是会话。我不知道;我想把它们全部清除,也就是说,我想让它说
[0]0:zsh*

另外,vim在tmux中看起来非常糟糕。我看到您需要运行命令:
set-g default terminal“screen-256color”
,但它不起作用。维姆航空公司看起来也很糟糕。但是,如果没有运行tmux,vim看起来就很好。如果有人能为我回答这个问题,那将是令人惊讶的:)

更新:


我尝试使用
tmux-2
命令,但也不起作用。vim看起来仍然很糟糕,在键入
echo$TERM
时,我得到的是
screen
而不是
screen-256-color
当我遇到这个问题时,这是因为我的vim配色方案使用的是truecolor(24位),而tmux只支持8位(256色)

以下是检查颜色支持的方法:

首先,使用以下python脚本确保默认终端和tmux中支持256色:

#!/usr/bin/env python
# Copyright (C) 2006 by Johannes Zellner, <johannes@zellner.org>
# modified by mac@calmar.ws to fit my output needs
# modified by crncosta@carloscosta.org to fit my output needs

import sys
import os

def echo(msg):
    os.system('echo -n "' + str(msg) + '"')

def out(n):
    os.system("tput setab " + str(n) + "; echo -n " + ("\"% 4d\"" % n))
    os.system("tput setab 0")

# normal colors 1 - 16
os.system("tput setaf 16")
for n in range(8):
    out(n)
echo("\n")
for n in range(8, 16):
    out(n)

echo("\n")
echo("\n")

y=16
while y < 231:
    for z in range(0,6):
        out(y)
        y += 1

    echo("\n")


echo("\n")

for n in range(232, 256):
    out(n)
    if n == 237 or n == 243 or n == 249:
        echo("\n")

echo("\n")
os.system("tput setaf 7")
os.system("tput setab 0")
#/usr/bin/env python
#Johannes Zellner版权所有(C)2006,
#修改mac@calmar.ws以满足我的输出需求
#修改crncosta@carloscosta.org以满足我的输出需求
导入系统
导入操作系统
def echo(msg):
操作系统('echo-n'+str(msg)+''”)
def输出(n):
系统(“tput setab”+str(n)+“echo-n”+(“\%4d\”“%n))
操作系统(“tput setab 0”)
#正常颜色1-16
操作系统(“tput setaf 16”)
对于范围(8)内的n:
输出(n)
回音(“\n”)
对于范围(8,16)内的n:
输出(n)
回音(“\n”)
回音(“\n”)
y=16
y<231时:
对于范围(0,6)内的z:
输出(y)
y+=1
回音(“\n”)
回音(“\n”)
对于范围内的n(232,256):
输出(n)
如果n==237或n==243或n==249:
回音(“\n”)
回音(“\n”)
操作系统(“tput setaf 7”)
操作系统(“tput setab 0”)
预期输出是使每一行具有不同的颜色,最多有一条白线。如果黑色背景上有更多的白色文本行,则未启用256色

接下来,使用以下bash脚本检查终端/tmux中是否支持truecolor:

#!/bin/bash
# Based on: https://gist.github.com/XVilka/8346728

awk -v term_cols="${width:-$(tput cols || echo 80)}" 'BEGIN{
    s="/\\";
    for (colnum = 0; colnum<term_cols; colnum++) {
        r = 255-(colnum*255/term_cols);
        g = (colnum*510/term_cols);
        b = (colnum*255/term_cols);
        if (g>255) g = 510-g;
        printf "\033[48;2;%d;%d;%dm", r,g,b;
        printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
        printf "%s\033[0m", substr(s,colnum%2+1,1);
    }
    printf "\n";
}'
#/bin/bash
#基于:https://gist.github.com/XVilka/8346728
awk-v term_cols=“${width:-$(tput cols | | echo 80)}”开始{
s=“/\”;
对于(colnum=0;colnum255)g=510-g;
printf“\033[48;2;%d;%d;%dm”,r,g,b;
printf“\033[38;2;%d;%d;%dm”,255-r,255-g,255-b;
printf“%s\033[0m”,substr(s,colnum%2+1,1);
}
printf“\n”;
}'
此项的预期输出如下所示:


预期的行为是,tmux将支持256色,但不支持truecolor,并且您的终端将同时支持这两种颜色。如果这是真的,并且您的vim colorscheme看起来仍然不好,则很可能您使用的是truecolor colorscheme,tmux无法支持。您可以切换到256色版本,也可以对此感到难过。抱歉,f或者是没有好消息。

当我遇到这个问题时,是因为我的vim colorscheme使用的是truecolor(24位),而tmux只支持8位(256色)

以下是检查颜色支持的方法:

首先,使用以下python脚本确保默认终端和tmux中支持256色:

#!/usr/bin/env python
# Copyright (C) 2006 by Johannes Zellner, <johannes@zellner.org>
# modified by mac@calmar.ws to fit my output needs
# modified by crncosta@carloscosta.org to fit my output needs

import sys
import os

def echo(msg):
    os.system('echo -n "' + str(msg) + '"')

def out(n):
    os.system("tput setab " + str(n) + "; echo -n " + ("\"% 4d\"" % n))
    os.system("tput setab 0")

# normal colors 1 - 16
os.system("tput setaf 16")
for n in range(8):
    out(n)
echo("\n")
for n in range(8, 16):
    out(n)

echo("\n")
echo("\n")

y=16
while y < 231:
    for z in range(0,6):
        out(y)
        y += 1

    echo("\n")


echo("\n")

for n in range(232, 256):
    out(n)
    if n == 237 or n == 243 or n == 249:
        echo("\n")

echo("\n")
os.system("tput setaf 7")
os.system("tput setab 0")
!/usr/bin/env python
#Johannes Zellner版权所有(C)2006,
#修改mac@calmar.ws以满足我的输出需求
#修改crncosta@carloscosta.org以满足我的输出需求
导入系统
导入操作系统
def echo(msg):
操作系统('echo-n'+str(msg)+''”)
def输出(n):
系统(“tput setab”+str(n)+“echo-n”+(“\%4d\”“%n))
操作系统(“tput setab 0”)
#正常颜色1-16
操作系统(“tput setaf 16”)
对于范围(8)内的n:
输出(n)
回音(“\n”)
对于范围(8,16)内的n:
输出(n)
回音(“\n”)
回音(“\n”)
y=16
y<231时:
对于范围(0,6)内的z:
输出(y)
y+=1
回音(“\n”)
回音(“\n”)
对于范围内的n(232,256):
输出(n)
如果n==237或n==243或n==249:
回音(“\n”)
回音(“\n”)
操作系统(“tput setaf 7”)
操作系统(“tput setab 0”)
预期的输出是使每一行具有不同的颜色,最多有一条白线。如果有更多的行在黑色背景上具有白色文本,则没有启用256色

接下来,使用以下bash脚本检查终端/tmux中是否支持truecolor:

#!/bin/bash
# Based on: https://gist.github.com/XVilka/8346728

awk -v term_cols="${width:-$(tput cols || echo 80)}" 'BEGIN{
    s="/\\";
    for (colnum = 0; colnum<term_cols; colnum++) {
        r = 255-(colnum*255/term_cols);
        g = (colnum*510/term_cols);
        b = (colnum*255/term_cols);
        if (g>255) g = 510-g;
        printf "\033[48;2;%d;%d;%dm", r,g,b;
        printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
        printf "%s\033[0m", substr(s,colnum%2+1,1);
    }
    printf "\n";
}'
!/bin/bash
#基于:https://gist.github.com/XVilka/8346728
awk-v term_cols=“${width:-$(tput cols | | echo 80)}”开始{
s=“/\”;
对于(colnum=0;colnum255)g=510-g;
printf“\033[48;2;%d;%d;%dm”,r,g,b;
printf“\033[38;2;%d;%d;%dm”,255-r,255-g,255-b;
printf“%s\033[0m”,substr(s,colnum%2+1,1);
}
printf“\n”;
}'
此项的预期输出如下所示:


预期的行为是,tmux将支持256色,但不支持truecolor,并且您的终端将同时支持这两种颜色。如果这是真的,并且您的vim colorscheme看起来仍然不好,则很可能您使用的是truecolor colorscheme,tmux无法支持。您可以切换到256色版本,也可以对此感到难过。抱歉,f或者没有好消息。

tmux ls
列出了您的tmux会话。[13]是您的会话名称。如果不指定它,只需递增。这并不一定意味着您有13个会话处于活动状态。至于vim看起来不好…请尝试
tmux-2
。-2强制tmux假设终端支持256色。谢谢,我现在能够处理会话。但是,输入
tmux-2
,vim看起来仍然不好。是不是e问题颜色相关?您提到您正在使用airline?可能tmux没有获得utf8支持?请尝试
tmux-2-u
-u明确告诉tmux utf8受支持该命令:
tmux-2-u