如何在 .vimrc 中突出显示当前行和光标?

如何在 .vimrc 中突出显示当前行和光标?

我试图在 Vim 中突出显示当前行以及光标位置。这是我的 .vimrc:

set cursorline
hi CursorLine ctermbg=8 ctermfg=15 "8 = dark gray, 15 = white
hi Cursor ctermbg=15 ctermfg=8

我遇到的问题是当前行背景颜色覆盖了光标背景颜色,所以它看起来像这样:

当前行突出显示,但光标不突出显示。

我可以清楚地知道光标在哪里,因为前景色几乎是黑色的,但是当光标位于空格上或行首/行尾时,我不知道它在哪里,除非我移动它。

光标位于行尾,尽管您永远不会知道。

我在这里做错了什么?

答案1

您必须将光标线的颜色更改为与光标颜色不同的颜色。如果您使用的是st或 之类的终端模拟器rxvt,Vim 无法更改光标的颜色;它始终是您的终端应用程序决定的颜色。只有图形版本的 Vim 才能更改光标的颜色。

不过,您可以通过终端配置更改光标颜色。

一些~/.Xdefaults例子~/.Xresources

XTerm*cursorColor: #FFFFFF
URxvt.cursorColor: white

您还可以使用 Vim 命令:set cursorcolumn将光标置于十字准线中。

答案2

如果您不想每次启动 Vim 时都输入命令,则必须将命令放入文件中.vimrc

whereis vim    
*#type in your linux terminal* 

(您将有一个不同的位置,但您的配色方案将在这里/usr/share/vim/vim74/colors/

您可以列出现有的配色方案

ls /usr/share/vim/vim74/colors/    

尝试列出的不同配色方案

:colorscheme desert
:colorscheme delek

Vim 中的以下命令会在光标位置激活一条垂直线。

set cursorcolumn 
hi CursorColumn ctermbg=8

切换(带有感叹号,适用于所有设置命令)

set cursorcolumn!

例如:

set cursorline
set cursorline!

hi CursorLine ctermbg=235
*#defines a gray colour for the horizontal line*

这是一个包含 xterm 颜色的表格:关联

通过定义使用数字ctermbg=... (... = 表中的颜色编号) 您也可以尝试ctermfg=...,但不值得使用它。

相关内容