自行编译Vim9后出现[esc][?4m字符问题,求解决方法
解决Vim9编译后新缓冲区出现
[esc][?4m控制字符的问题 [esc][?4m是终端DECCOLM控制序列,用于切换80/132列显示模式,出现乱码是因为终端不识别该序列,或Vim的终端初始化配置有误。以下是针对性解决步骤:
检查终端环境变量
执行echo $TERM确认终端类型,确保值为xterm-256color、screen-256color这类标准终端类型。若不是,在~/.bashrc或~/.zshrc中添加:export TERM=xterm-256color执行
source ~/.bashrc生效后重启Vim测试。修改Vim配置禁用终端控制序列
在~/.vimrc中添加以下配置,清空Vim进入/退出时的终端初始化序列:set t_ti= set t_te=保存后重启Vim,多数情况下可直接消除该乱码。
重新编译Vim并调整配置参数
若上述方法无效,尝试以纯终端模式重新编译(避免GUI编译带来的终端兼容性问题),编译前务必清理旧编译文件:make clean ./configure --with-features=huge --enable-multibyte --enable-python3interp=dynamic --enable-cscope --enable-gui=no --enable-fontset --enable-largefile --disable-netbeans --with-compiledby="xxx" --enable-fail-if-missing --prefix=/root/software make && make install验证终端兼容性
切换至系统原生终端、tmux或screen等不同终端环境测试,排除终端本身的兼容性问题。
用户原始编译配置:
./configure --with-features=huge --enable-multibyte --enable-python3interp=dynamic --enable-cscope --enable-gui=auto --enable-gtk2-check --enable-fontset --enable-largefile --disable-netbeans --with-compiledby="xxx" --enable-fail-if-missing --prefix=/root/software make make install
问题截图:
内容的提问来源于stack exchange,提问作者刘子鹏
相关产品推荐
相关产品推荐

