Vim能否使用亮色调配色?如何配置使其调用终端Terminator调色板的第二行亮色?
Vim能否使用亮色调配色?如何配置使其调用终端Terminator调色板的第二行亮色?
当然可以让Vim调用Terminator调色板里的第二行亮色调!你现在遇到的问题,是因为用了Vim预定义的颜色名称(比如lightblue、darkblue),这些名称默认对应终端调色板的第一行基础色,而非你想要的第二行亮色。
下面给你具体的解决步骤:
核心原理:用ANSI颜色编号代替预定义名称
Terminator里的第二行亮色(就是你用echo -e "\e[94m blue number 2\e[0m"显示的那种),属于终端的亮色系ANSI颜色,对应的编号范围是:
- 前景色:90~97(比如亮蓝是94)
- 背景色:100~107(比如亮蓝背景是104)
而Vim里的ctermfg/ctermbg参数除了支持预定义名称,还直接支持这些ANSI编号。
修改你的yaml.vim配置
把原来用预定义颜色名称的地方,换成对应的亮色系编号就行。比如针对你的配置:
# 原来的配置 hi yamlComment ctermbg=lightblue ctermfg=blue hi yamlBlockMappingKey ctermbg=lightblue ctermfg=darkblue # 修改为调用亮色调的配置(以亮蓝背景+亮蓝前景为例,你可以根据自己的调色板调整) hi yamlComment ctermbg=104 ctermfg=94 hi yamlBlockMappingKey ctermbg=104 ctermfg=30 # 这里用深灰前景搭配亮蓝背景,你可以换成自己喜欢的亮色编号
验证效果
保存修改后的yaml.vim,重启Vim打开你的example.yml,就能看到Terminator第二行的亮色被Vim调用啦!
小技巧:确认颜色编号
如果你记不清某个亮色的编号,可以:
- 在终端里用命令逐个测试:
echo -e "\e[90m 90:亮黑\e[0m \e[91m 91:亮红\e[0m \e[92m 92:亮绿\e[0m \e[93m 93:亮黄\e[0m \e[94m 94:亮蓝\e[0m \e[95m 95:亮紫\e[0m \e[96m 96:亮青\e[0m \e[97m 97:亮白\e[0m" - 或者在Vim里输入
:help cterm-colors,查看官方的颜色编号对应表。
备注:内容来源于stack exchange,提问作者linux_beginner
相关产品推荐
相关产品推荐

