Comment mettre en surbrillance la ligne actuelle et le curseur dans .vimrc?


14

J'essaie de mettre en évidence la ligne actuelle ainsi que la position du curseur dans Vim. Voici mon .vimrc:

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

Le problème que je rencontre est que la couleur d'arrière-plan de la ligne actuelle recouvre la couleur d'arrière-plan du curseur, elle ressemble donc à ceci:

La ligne actuelle est mise en surbrillance mais pas le curseur.

Je peux évidemment dire où se trouve le curseur parce que la couleur de premier plan est presque noire, mais lorsque le curseur est sur un espace ou au début / fin d'une ligne, je n'ai aucune idée de l'endroit où il se trouve à moins que je ne le déplace.

Le curseur se trouve à la fin de la ligne, bien que vous ne le sachiez jamais.

Qu'est-ce que je fais mal ici?

Réponses:


14

Vous devez changer la couleur de votre ligne de curseur en une couleur autre que la couleur de votre curseur. Si vous êtes dans un émulateur de terminal comme stou rxvt, Vim ne peut pas changer la couleur de votre curseur; ce sera toujours la couleur que votre application terminale décide de faire. Seule la version graphique de Vim est capable de changer la couleur de votre curseur.

Vous pouvez cependant changer la couleur de votre curseur dans la configuration de votre terminal.

Quelques ~/.Xdefaults/ ~/.Xresourcesexemples:

XTerm*cursorColor: #FFFFFF
URxvt.cursorColor: white

Vous pouvez également utiliser la commande Vim :set cursorcolumnpour placer votre curseur en croix.


2
vimpourrait changer la couleur du curseur, sur ces terminaux comme xtermcela vous permettent de la changer dynamiquement ( printf '\033]12;#f50\7'par exemple). Vous pouvez également le changer en un bloc clignotant ou souligner ( \e[1 qou \e[3 q)
Stéphane Chazelas

C'est intéressant. Je ne savais pas que ces séquences d'échappement existaient. Il y a des informations concernant leur utilisation avec vim ici .

6

Si vous ne souhaitez pas entrer la commande à chaque démarrage de Vim, vous devez mettre les commandes dans votre .vimrcfichier.

whereis vim    
*#type in your linux terminal* 

(vous aurez un emplacement différent, mais votre jeu de couleurs sera ici /usr/share/vim/vim74/colors/.

Vous pouvez répertorier les schémas de couleurs existants avec

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

essayez différents schémas de couleurs parmi la liste

:colorscheme desert
:colorscheme delek

La commande suivante dans Vim active une ligne verticale à l'emplacement du curseur.

set cursorcolumn 
hi CursorColumn ctermbg=8

basculer (avec le point d'exclamation, fonctionne avec toutes les commandes set)

set cursorcolumn!

par exemple:

set cursorline
set cursorline!

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

Voici un tableau aux couleurs xterm: lien

Utilisez un nombre en définissant ctermbg=... (... = numéro de couleur du tableau) Vous pouvez également essayer ctermfg=..., mais cela ne vaut pas la peine de l'utiliser.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.