47 votes

Mise en évidence du numéro de la ligne en cours dans vim

Y a-t-il un moyen de mettre en évidence sólo le numéro de la ligne courante (dans la colonne de gauche) dans vim, sans mettre en évidence le fond de la ligne courante ? Idéalement, je voudrais faire en sorte que le numéro de la ligne actuelle en gras .

0 votes

Je n'en sais rien, mais vous réalisez que c'est en bas de la fenêtre, non ?

0 votes

Il n'est pas en bas de ma fenêtre. Le bas de ma fenêtre ne contient que le texte --INSERT--. Comment faire pour que la position actuelle du document s'affiche en bas de la fenêtre ?

0 votes

Je n'avais pas réalisé que ce n'était pas activé par défaut, mais apparemment set ruler pourrait être une commande pour cela : linuxquestions.org/questions/linux-desktop-74/

45voto

ZyX Points 26516

Il existe deux groupes qui déterminent la mise en évidence de la ligne affichée lorsque &cursorline est active : CursorLine y CursorLineNR . Le premier est utilisé pour mettre en évidence la ligne entière, le second pour le numéro de la ligne. Pour obtenir ce que vous voulez, vous devez donc

  1. Effacer la mise en évidence de CursorLine : juste hi clear CursorLine après tout :colorscheme y set background= appelez .

    hi clear CursorLine
    augroup CLClear
        autocmd! ColorScheme * hi clear CursorLine
    augroup END
  2. Définir la mise en évidence de CursorLineNR s'il n'est pas défini dans votre schéma de couleurs :

    hi CursorLineNR cterm=bold
    augroup CLNRSet
        autocmd! ColorScheme * hi CursorLineNR cterm=bold
    augroup END

    (il vaut mieux vérifier s'il n'est pas déjà défini dans le schéma de couleurs, le résultat sera peut-être meilleur dans ce cas).

Vous pouvez bien sûr joindre les deux autocommandes en une seule.

CursorLineNR a été ajouté relativement récemment autour de la version 7.3.488 .

16voto

Alex Vanu Points 191

C'est ce qui a marché pour moi :

highlight CursorLine cterm=NONE ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE
set cursorline

Je l'utilise simplement dans mon .vimrc après avoir défini le schéma de couleurs. Bien sûr, vous pouvez aussi définir une couleur de fond spécifique, mais en les mettant toutes sur NONE, vous mettez en évidence le numéro de ligne (c'est-à-dire qu'il est plus clair).

Je suppose que vous pourriez simplement utiliser :hi CursorLine cterm=NONE mais je voulais juste m'assurer que je rendais tout transparent (gvim inclus).

Con CursorLineNR J'ai ensuite pu définir les couleurs d'avant-plan et d'arrière-plan du numéro mis en évidence.

Je n'écris ceci que parce que pour moi, cela a fonctionné sans aucune autocommande et c'est peut-être ce dont la plupart des gens ont besoin.

16voto

sehe Points 123151

Vous voulez regarder

:se cursorline

et peut-être même/également

:se cursorcolumn

1 votes

Comment le désactiver ?

4 votes

@Pétur comme pour toute autre option, donc :se cul! ou par exemple :se nocursorline

11voto

Hritik Points 190

Vous pouvez définir la ligne de curseur pour ne mettre en évidence que les chiffres.

'cursorlineopt' 'culopt' string (default: "number,line")                        
                        local to window                                         
                        {not available when compiled without the +syntax        
                        feature}                                                
        Comma separated list of settings for how 'cursorline' is displayed.     
        Valid values:                                                           
        "line"          Highlight the text line of the cursor with              
                        CursorLine hl-CursorLine.                               
        "screenline"    Highlight only the screen line of the cursor with       
                        CursorLine hl-CursorLine.                               
        "number"        Highlight the line number of the cursor with            
                        CursorLineNr hl-CursorLineNr.             

Et pour remplacer votre schéma de couleurs utiliser autocmd

Donc, ce qui suit fonctionne :

set cursorline
set cursorlineopt=number
autocmd ColorScheme * highlight CursorLineNr cterm=bold term=bold gui=bold

0 votes

Merci. Les nouveaux chiffres soulignés me rendaient fou.

4voto

Simon Alford Points 955

Cela a fonctionné pour moi pour mettre en évidence le numéro de ligne et non le reste de la ligne :

highlight CursorLineNr cterm=NONE ctermbg=15 ctermfg=8 gui=NONE guibg=#ffffff guifg=#d70000

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X