web-dev-qa-db-fra.com

Mise en évidence du numéro de ligne actuel dans vim

Existe-t-il un moyen de mettre en évidence niquement le numéro de ligne actuel (dans la colonne de gauche) dans vim, sans mettre en évidence l'arrière-plan de la ligne actuelle? Idéalement, je voudrais rendre le numéro de ligne actuel gras.

36
cg433n

Il existe deux groupes qui déterminent la mise en évidence de la ligne affichée lorsque l'option &cursorline Est active: CursorLine et CursorLineNR. Le premier est utilisé pour mettre en évidence toute la ligne, le second pour le numéro de ligne. Donc, pour réaliser ce que vous voulez, vous devez

  1. Effacez la mise en évidence de CursorLine: juste hi clear CursorLineaprès tout appel :colorscheme Et set background=.

    hi clear CursorLine
    augroup CLClear
        autocmd! ColorScheme * hi clear CursorLine
    augroup END
    
  2. Définissez la mise en évidence de CursorLineNR si elle n'est pas définie dans votre choix de couleurs:

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

    (mieux vaut vérifier s'il est déjà défini dans le colorimètre, peut-être que cela aura l'air mieux dans ce cas).

Vous pouvez joindre les deux autocommandes dans un bien sûr.

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

35
ZyX

C'est ce qui a fonctionné pour moi:

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

J'utilise juste ceci dans mon .vimrc après avoir défini le jeu de couleurs. Bien sûr, vous pouvez également définir une couleur d'arrière-plan spécifique, mais les définir tous sur AUCUN met simplement en évidence le numéro de ligne (c'est-à-dire le rend plus lumineux).

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

Avec CursorLineNR, j'ai pu définir les couleurs de premier plan et d'arrière-plan du numéro en surbrillance.

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

14
Alex Vanu

Tu veux regarder

:se cursorline

et peut-être même/aussi

:se cursorcolumn
14
sehe

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

2
Simon Alford

L'aide pour highlight-groups ne mentionne pas un groupe de syntaxe exclusif "nombre de ligne courante", donc la réponse officielle pourrait être no .

Vous voudrez peut-être jeter un oeil à l'option curseur qui met en évidence toute la ligne, si cela vous aide.

0
sidyll