vim 忽然失去了颜色,问题排查.

vim 昨天还用的好好的,今天忽然发现失去了颜色,怎么回事?

不是网上常见的$TERM 变量的问题.
排查过程:
$ ldd vim
 ./vim: /lib/x86_64-linux-gnu/libtinfo.so.5: no version information available (required by ./vim)
 有一个警告

vim 中查看
:scriptnames
显示
1: ~/.vimrc
2: /opt/share/vim/vim74/ftoff.vim
3: ~/.vim/filetype.vim
4: /opt/share/vim/vim74/filetype.vim

正确的应该是包含syntax 脚本,如下:
1: ~/.vimrc
2: /opt/share/vim/vim74/ftoff.vim
3: /opt/share/vim/vim74/syntax/syntax.vim
4: /opt/share/vim/vim74/syntax/synload.vim
5: /opt/share/vim/vim74/syntax/syncolor.vim
6: ~/.vim/filetype.vim

检查~/.vimrc 文件, 依次检查可疑的变量,发现 &t_Co 变量不正常,用 :echo &t_Co 检查,变量一闪就过,正确的应该显示256.  启用:syntax on 命令,还是黑白,关键字只是加了下划线.这容易立即,因为syntax.vim 等脚本根本就没有加载.

判定为vim 执行环境已经破坏,不是脚本的问题,联想到libtinfo5 的warning, 决定重装libtinfo5

解决方法:
重装libtinfo5 , 问题解决,颜色恢复!
$ sudo apt install libtinfo5

答案:
可见是libtinfo5.so 影响了vim 的运行.
问题的引起应该是我卸载包时, libtinfo5 被卸载, vim 不能运行(这是一个手工编译版本)
我从别的机器上copy 一个libtinfo5.so 过来, vim 可以运行了,但是丢失了颜色。
正确的做法还是应该在本机上用apt 安装丢失的包,不要随便copy 别的机器上的so 文件.
因为版本可能不一样, 一个是ubuntu18,一个是ubuntu20

猜你喜欢

转载自blog.csdn.net/hejinjing_tom_com/article/details/128873351
Vim
今日推荐