VIM将GUI配色转化为终端配色的程序–gui2term.py

我大多数情况下通过SecureCRT连接远程服务器进行开发, 在终端下的配色和GUI上还是有所差异。后来google了一下, 找到了方法能让终端上的色彩和才GUI上一样,废话不多说,开始。

有一个叫gui2term.py的Python程序, 能将vim的配色文件(如desert.vim)转换成终端下色彩一致的.vim配色文件。起原理是根据rgb.txt(这是vim目录下的一个文件)中的对应关系, 将#FFFFFF这种格式的对应转换为相近的rgb256色的格式。gui2term.py的下载链接点击这里

操作步骤(拿desert.vim举例):
1. 将desert.vim 和 gui2term.py 还有 rgb.txt 三个文件放在同一个目录下, desert.vim 和 gui2term.py 你肯定知道他们的位置,那么rgb.txt在哪呢?这要看你的vim版本和操作系统,我的是Ubuntu,位置在/usr/share/vim/vim74/rgb.txt, 你的可能是/usr/share/vim/vim73(72、71等等)。如果你还是没有找到, 我将我的rgb.txt上传到了百度网盘, 点击这里下载。

2. 将desert.vim中的终端配色全部删掉
什么是终端配色?如:

hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
hi IncSearch term=reverse cterm=reverse gui=reverse
hi ModeMsg term=bold cterm=bold gui=bold
hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
hi StatusLineNC term=reverse cterm=reverse gui=reverse
hi VertSplit term=reverse cterm=reverse gui=reverse
hi Visual term=reverse ctermbg=black guibg=grey60
hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red

里面包含term的配置是终端配色(如 term=standout ctermbg=DarkRed),包含gui的是gui配色。把包含term的都删掉就好了。

3. 运行gui2term.py

python3 gui2term.py desert.vim new_desert.vim

注意:gui2term.py支持的是Python3(如果你下载的是最新的,旧的支持Python2)。 desert.vim 就是原始的配色文件,new_desert.vim 是转换后生成的新的配色文件(在终端下使用的)

生成新的.vim的文件就是你需要的配色文件, 将其放在colors/ 目录下, 在vimrc里加载就OK了。

记得在vimrc里设置这个:

set t_Co=256

最后推荐两个美观的vim配色:ir_black 和 molokai

整理自 让vim在远程终端(Xshell4/SecureCRT)下得到像gui一样的colorscheme显示效果强烈推荐–将GUI配色转化为终端配色的VIM插件–gui2term.py

发表评论

电子邮件地址不会被公开。 必填项已用*标注