• tmux颜色高亮跟vim不一致的情况


    安装完tmux之后,按照网上大神的配置,稍微配置了下~/.tmux.conf:

    # 改变快捷键前缀
    unbind C-b 
    set -g prefix C-a 
    
    # 绑定配置加载按键
    bind r source-file ~/.tmux.conf ; display-message "Config reloaded.."
    
    # 设置终端类型为256色
    if-shell '[ $(uname -s) = Linux ]' 
        'set -g default-terminal "screen-256color"'
    #set -g default-terminal "xterm"
    
    # Index starts from 1
    set-option -g base-index 1
    setw -g pane-base-index 1   # make pane numbering consistent with windows
    
    # 重新绑定纵向和横向切分window快捷键。|,-,更直观地表明了切割方向
    bind | split-window -h -c "#{pane_current_path}"
    bind - split-window -v -c "#{pane_current_path}"
    
    # 在不同面板间切换,改为vim风格
    bind h select-pane -L
    bind j select-pane -D
    bind k select-pane -U
    bind l select-pane -R
    
    # 调整面板大小
    bind -r H resize-pane -L 5
    bind -r J resize-pane -D 5
    bind -r K resize-pane -U 5
    bind -r L resize-pane -R 5

    然后用tmux建立新的连接之后,发现配色与不开tmux时的vim不一致,特别是高亮变得很蛋疼:

     

     上图是用tmux时候打开的vim,下图是正常模式下的vim。

    可以看到高亮的字,变得很难看。照这种情况搜索了了很多解决方案,不求甚解的套了进去,但是情况没有变好,反而更糟糕了。不过在慢慢折腾中,发现了一个环境变量TERM可能是其中的关键。

    在正常的vim下面打印TERM发现:

    :echo $TERM
    xterm

    在tmux下的vim打印发现:

    :echo $TERM
    screen-256color

    两边的结果不一致,检查下.tmux.conf发现如下两行配置:

    # 设置终端类型为256色
    if-shell '[ $(uname -s) = Linux ]' 
        'set -g default-terminal "screen-256color"'

    很明显,是这两行配置导致了tmux下的vim颜色表现与正常模式下的vim不一致了。

    把这两行注释掉,退出tmux(c-a + r加载配置貌似不起效),重新开启tmux,发现表现一致了。

    不过打印TERM变量内容发现还是不一致:

    :echo $TERM
    screen

    但是问题得到了解决,并且知道了解决问题的关键,下次再碰到同样的问题就有应对的方法了。

  • 相关阅读:
    UVaLive 3695 Distant Galaxy (扫描线)
    UVaLive 3695 City Game (扫描线)
    CodeForces 349B Color the Fence (DP)
    UVaLive 3905 Meteor (扫描线)
    UVaLive 3902 Network (无根树转有根树,贪心)
    NodeJS学习笔记 (16)子进程-child_process(ok)
    字符编码笔记:ASCII,Unicode 和 UTF-8
    NodeJS学习笔记 (15)二进制数据-buffer(ok)
    NodeJS学习笔记 (14)URL查询字符串-querystring(ok)
    NodeJS学习笔记 (13)数据加密-crypto(OK)
  • 原文地址:https://www.cnblogs.com/minglee/p/9083558.html
Copyright © 2020-2023  润新知