只是为了让标题更详细一点:重点在于:“基于当前模式”我希望在正常*或可视模式时背景是一种颜色,而在 * 另一种 * 模式下,当我可以自由键入时(***插入**模式),* 自动 *(=〉可能是autocmd,如下面的解决方案中所述)。如何才能做到这一点最好的方式,在所有现代风格的vim(特别是包括终端渲染)?
jv4diomz1#
检查自动命令http://vimdoc.sourceforge.net/htmldoc/autocmd.html用于Vim 8
:autocmd InsertEnter * set bg=light :autocmd InsertLeave * set bg=dark
对于VIM版本9.0,请检查https://yianwillis.github.io/vimcdoc/doc/autocmd.html#ModeChanged对于站点中的示例,您可以在进入可视模式时更改为相对编号
:au ModeChanged [vV\x16]*:* let &l:rnu = mode() =~# '^[vV\x16]' :au ModeChanged *:[vV\x16]* let &l:rnu = mode() =~# '^[vV\x16]' :au WinEnter,WinLeave * let &l:rnu = mode() =~# '^[vV\x16]'
aiqt4smr2#
highlight
使用highlight命令:
:highlight Normal ctermfg=darkgreen ctermbg=gray
这会将背景颜色设置为灰色,并带有绿色文本。简短形式:
:hi Normal ctermfg=darkgreen ctermbg=gray
cterm
ctermfg
ctermbg
颜色列表[cterm]:
NR-16 NR-8 COLOR NAME 0 0 Black 1 4 DarkBlue 2 2 DarkGreen 3 6 DarkCyan 4 1 DarkRed 5 5 DarkMagenta 6 3 Brown, DarkYellow 7 7 LightGray, LightGrey, Gray, Grey 8 0* DarkGray, DarkGrey 9 4* Blue, LightBlue 10 2* Green, LightGreen 11 6* Cyan, LightCyan 12 1* Red, LightRed 13 5* Magenta, LightMagenta 14 3* Yellow, LightYellow 15 7* White
“NR-16”下的数字用于16色端子('t_Co'大于等于16).“NR-8”下面的数字用于8色端子('t_Co'小于16)。''表示为ctermfg设置了粗体属性。在许多8色终端中(例如,“linux”),这会导致出现明亮的颜色。这对背景颜色无效!没有'',粗体属性会被删除。如果您想以不同的方式设置粗体属性,将“cterm=”参数放在“ctermfg=”或“ctermbg=”参数之后。或者使用数字代替颜色名称。这里的*表示“加8”,因此Blue是12,DarkGray是8,依此类推。请注意,颜色名称的大小写将被忽略。请注意,这不是永久性的,当您关闭vim会话时,颜色方案将被丢弃并重置为默认值。
*
Blue
12
DarkGray
8
如果你想永久地实现这一点,我们必须访问vim启动文件.vimrc。.vimrc文件保存了vim会话开始时初始化的可选运行时设置。我们将在colorscheme命令的帮助下添加我们想要的配色方案:
vim
.vimrc
colorscheme
:colorscheme white
这会将默认背景配置为白色。相关来源:
2条答案
按热度按时间jv4diomz1#
检查自动命令
http://vimdoc.sourceforge.net/htmldoc/autocmd.html
用于Vim 8
对于VIM版本9.0,请检查
https://yianwillis.github.io/vimcdoc/doc/autocmd.html#ModeChanged
对于站点中的示例,您可以在进入可视模式时更改为相对编号
aiqt4smr2#
highlight
命令(临时)使用
highlight
命令:这会将背景颜色设置为灰色,并带有绿色文本。
简短形式:
cterm
种颜色[ctermfg
+ctermbg
]颜色列表[
cterm
]:“NR-16”下的数字用于16色端子('t_Co'大于等于16).“NR-8”下面的数字用于8色端子('t_Co'小于16)。''表示为ctermfg设置了粗体属性。在许多8色终端中(例如,“linux”),这会导致出现明亮的颜色。这对背景颜色无效!没有'',粗体属性会被删除。如果您想以不同的方式设置粗体属性,将“cterm=”参数放在“ctermfg=”或“ctermbg=”参数之后。或者使用数字代替颜色名称。
这里的
*
表示“加8”,因此Blue
是12
,DarkGray
是8
,依此类推。请注意,颜色名称的大小写将被忽略。
请注意,这不是永久性的,当您关闭vim会话时,颜色方案将被丢弃并重置为默认值。
颜色变化(永久)
如果你想永久地实现这一点,我们必须访问
vim
启动文件.vimrc
。.vimrc
文件保存了vim会话开始时初始化的可选运行时设置。我们将在colorscheme
命令的帮助下添加我们想要的配色方案:这会将默认背景配置为白色。
相关来源: