Come evidenziare la riga corrente e il cursore in .vimrc?


14

Sto cercando di evidenziare la linea corrente e la posizione del cursore in Vim. Ecco il mio .vimrc:

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

Il problema che sto riscontrando è che l'attuale colore di sfondo della linea copre il colore di sfondo del cursore, quindi è simile al seguente:

La riga corrente è evidenziata ma il cursore no.

Posso ovviamente dire dove si trova il cursore perché il colore di primo piano è quasi nero, ma quando il cursore si trova su uno spazio o all'inizio / alla fine di una linea non ho idea di dove sia a meno che non lo sposti.

Il cursore si trova alla fine della linea, anche se non lo sapresti mai.

Cosa sto facendo di sbagliato qui?

Risposte:


14

Devi cambiare il colore della linea del tuo cursore in un colore diverso dal colore del tuo cursore. Se ti trovi in ​​un emulatore di terminale come sto rxvt, Vim non può cambiare il colore del cursore; sarà sempre il colore che la tua applicazione terminale decide di realizzare. Solo la versione grafica di Vim è in grado di cambiare il colore del cursore.

Tuttavia, è possibile modificare il colore del cursore attraverso la configurazione del terminale.

Alcuni ~/.Xdefaults/ ~/.Xresourcesesempi:

XTerm*cursorColor: #FFFFFF
URxvt.cursorColor: white

Puoi anche usare il comando Vim :set cursorcolumnper mettere il cursore nel mirino.


2
vimpotrebbe cambiare il colore del cursore, su quei terminali come xtermquello ti permetterebbe di cambiarlo dinamicamente ( printf '\033]12;#f50\7'per esempio). Puoi anche cambiarlo in un blocco lampeggiante o sottolineare ( \e[1 qo \e[3 q)
Stéphane Chazelas,

Interessante. Non sapevo che esistessero quelle sequenze di fuga. Ci sono informazioni sul loro utilizzo con vim qui .

6

Se non si desidera immettere il comando ogni volta che si avvia Vim, è necessario inserire i comandi nel proprio .vimrcfile.

whereis vim    
*#type in your linux terminal* 

(avrai una posizione diversa, ma la tua combinazione di colori sarà qui /usr/share/vim/vim74/colors/.

È possibile elencare le combinazioni di colori esistenti con

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

prova combinazioni di colori diverse da quelle elencate

:colorscheme desert
:colorscheme delek

Il seguente comando in Vim attiva una linea verticale nella posizione del cursore.

set cursorcolumn 
hi CursorColumn ctermbg=8

toggle (con il punto esclamativo, funziona con tutti i set-command)

set cursorcolumn!

per esempio:

set cursorline
set cursorline!

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

Ecco una tabella con i colori xterm: link

Usa un numero definendo ctermbg=... (... = numero di colore dalla tabella) Puoi anche provare ctermfg=..., ma non vale la pena usarlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.