tmux颜色高亮跟vim不一致的情况
2024-10-19 14:28:09
安装完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
set-option -g base-index
setw -g pane-base-index # 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
bind -r J resize-pane -D
bind -r K resize-pane -U
bind -r L resize-pane -R
然后用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
但是问题得到了解决,并且知道了解决问题的关键,下次再碰到同样的问题就有应对的方法了。
最新文章
- windows 10 设置
- checkbox选中与取消选择
- ExtJs之VTYPE验证
- PL/pgSQL的anyelement例子
- Flex+Struts2+JSON实现Flex和后台的HTTP Service请求
- Java IO 技术之基本流类
- python——登陆接口设计(循环方法)
- SQLite在C#中的安装与操作
- 安利给班里的大家一个chrome的GitHub插件-----gayhub
- 英语进阶系列-A05-英语升级练习三
- Python基础理论 - 面向对象
- MySQL之优化
- JavaScript之中Array用法的一些技巧总结
- iOS 问答时间
- hdu 4031(树状数组+辅助数组)
- Communications link failure;;The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
- Linux shell 中$() ` `,${},$[] $(()),[ ] (( )) [[ ]]作用与区别
- 【BZOJ2423】[HAOI2010]最长公共子序列 DP
- 基于SAP Kyma的订单编排增强介绍
- I2C驱动