如何更改所选代码的颜色(Vim方案)?

37

如何改变Vim中选择的代码颜色?

Vim中有三种选择模式,分别是:Visual Line模式、Visual Block模式和使用鼠标进行选择。

  hi CursorLine guibg=#DDDDDD gui=none
  hi CursorColumn guibg=#EEEEEE gui=none
  hi MatchParen guifg=#f6f3e8 guibg=#857b6f gui=none
  hi Pmenu   guifg=#f6f3e8 guibg=#DDDDDD gui=none
  hi PmenuSel  guifg=#000000 guibg=#DDDDDD gui=none
endif

" General colors
hi Cursor   guifg=NONE    guibg=#656565 gui=none
hi Normal   guifg=#000000 guibg=#FFFFFF gui=none
hi NonText   guifg=#808080 guibg=#FFFFFF gui=none
hi LineNr   guifg=#857b6f guibg=#FFFFFF gui=none
hi StatusLine  guifg=#000000 guibg=#FFFFFF gui=none
hi StatusLineNC guifg=#857b6f guibg=#FFFFFF gui=none
hi VertSplit  guifg=#444444 guibg=#FFFFFF gui=none
hi Folded   guibg=#AAAAAA guifg=#FFFFFF gui=none
hi Title  guifg=#000000 guibg=NONE gui=none
hi Visual  guifg=#000000 guibg=#FFFFFF gui=none
hi SpecialKey guifg=#808080 guibg=#FFFFFF gui=none

如何知道是哪一行?

5个回答

44

gvim 的选择颜色由以下行设置:

hi Visual  guifg=#000000 guibg=#FFFFFF gui=none

您可以使用命名颜色值来代替 #nnnnnn RGB 代码。您现有的行设置为黑色前景和白色背景,就像您观察到的那样。

例如,如果您想要浅蓝色背景和白色前景:

hi Visual  guifg=White guibg=LightBlue gui=none

确保你正在编辑的颜色文件位于vim7x/colors目录中,这样vim和gvim都可以找到它。根据你的操作系统平台,它的确切位置可能会有所变化。


38

如何在vi中设置所选代码的颜色?

我正在Ubuntu上使用VIM 7.3,以下命令可以帮助我在编辑器中实现此目的:

:syntax on 
:hi Visual term=reverse cterm=reverse guibg=Grey

我正在使用在/home/youruser/.vim/colors/mycolorscheme.vim文件中定义的配色方案。我在那里设置了命令,当Vim启动时更改生效。

syntax on
hi Visual term=reverse cterm=reverse guibg=Grey

4
我喜欢你使用 reverse 作为一种语法感知的兼容色彩主题的方式。 - slf
它将文本颜色更改为白色,并将背景更改为文本的颜色。但是当我有白色的文本时,背景变成了白色,文本也是白色,这使得文本不可见。是否有一种方法也可以反转文本的颜色? - warunapww
Vim是一个功能齐全的操作系统,只有在使用它20年每天都有经验之后才能达到这种境界。它可以做任何事情。 - Eric Leschinski

13

我的颜色方案是molokai,我发现这个配置对我来说是最好的:

强调 Visual cterm=bold ctermbg=蓝色 ctermfg=无

输入图像描述

查看我的vimrc @https://github.com/reubinoff/myVimrc


我不想采用一种需要进入配色方案并进行更改的解决方案,因为如果我更新了该配色方案,它将被覆盖。这是一个简单的解决方案,使我的zenburn可视化选定背景颜色更容易看到(它很暗,在暗色背景上没有最佳对比度)。 - Pip
这个答案非常好!它采用了Eric Leschinski的分享并使文本易读。至少对于我的颜色方案而言是这样的。这个解决方案非常适合我在MobaXterm会话中使用默认终端颜色方案(基于版本22)-“黑色背景/浅色文本”。 - Dave

12

10

我只是更改了我的配色方案文件(~/.vim/colors/solarized.vim),并将'Visual'设置为与'CursorLine'相同的值。

我喜欢CursorLine的风格,因为它是透明的,并保留了选定元素的语法突出显示颜色。

请用以下行替换包含exe"hi! Visual"的行:

exe "hi! Visual"     .s:fmt_uopt   .s:fg_none   .s:bg_base02  .s:sp_base1
或:
:highlight Visual cterm=NONE ctermbg=0 ctermfg=NONE guibg=Grey40

像这样:


4
在你的vimrc中添加highlight! link Visual CursorLine - Andy Stewart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接