Como realçar a linha atual e o cursor em .vimrc?


14

Estou tentando destacar a linha atual, bem como a posição do cursor no Vim. Aqui está o meu .vimrc:

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

O problema que estou enfrentando é que a cor atual do plano de fundo da linha cobre a cor do plano de fundo do cursor, então fica assim:

A linha atual está destacada, mas o cursor não está.

Obviamente, posso dizer onde está o cursor porque a cor do primeiro plano é quase preta, mas quando o cursor está em um espaço ou no início / fim de uma linha, não tenho idéia de onde está, a menos que a mova.

O cursor está no final da linha, embora você nunca o saiba.

O que eu estou fazendo errado aqui?

Respostas:


14

Você precisa alterar a cor da linha do cursor para uma cor diferente da cor do cursor. Se você estiver em um emulador de terminal como stou rxvt, o Vim não poderá alterar a cor do seu cursor; sempre será a cor que seu aplicativo de terminal decidir fazer. Somente a versão gráfica do Vim pode alterar a cor do seu cursor.

Você pode alterar a cor do cursor na configuração do terminal.

Alguns ~/.Xdefaults/ ~/.Xresourcesexemplos:

XTerm*cursorColor: #FFFFFF
URxvt.cursorColor: white

Você também pode usar o comando Vim :set cursorcolumnpara colocar o cursor na mira.


2
vimpode mudar a cor do cursor, nesses terminais, assim xtermvocê pode alterá-lo dinamicamente ( printf '\033]12;#f50\7'por exemplo). Você também pode alterá-lo para um bloco piscando ou sublinhado ( \e[1 qou \e[3 q)
Stéphane Chazelas

Isso é interessante. Eu não sabia que essas seqüências de escape existiam. Há informações sobre seu uso com o vim aqui .

6

Se você não deseja inserir o comando toda vez que iniciar o Vim, precisará colocar os comandos no seu .vimrcarquivo.

whereis vim    
*#type in your linux terminal* 

(você terá um local diferente, mas seu esquema de cores estará aqui /usr/share/vim/vim74/colors/.

Você pode listar os esquemas de cores existentes com

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

tente esquemas de cores diferentes dos listados

:colorscheme desert
:colorscheme delek

O comando a seguir no Vim ativa uma linha vertical no local do cursor.

set cursorcolumn 
hi CursorColumn ctermbg=8

para alternar (com o ponto de exclamação, funciona com todos os comandos set)

set cursorcolumn!

por exemplo:

set cursorline
set cursorline!

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

Aqui está uma tabela com cores xterm: link

Use um número definindo ctermbg=... (... = número da cor da tabela) Você também pode tentar ctermfg=..., mas não vale a pena usá-lo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.