J'ai eu un problème similaire pour mettre en évidence la ligne de curseur, mais le mien était dû à la commande mksession que j'utilisais pour sauvegarder les informations de la session lors de la sortie de vim. Cette session est ensuite automatiquement restaurée au démarrage du programme, s'il est exécuté sans arguments de fichier.
Si quelqu'un a une configuration de .vimrc comme celle-ci, vous pouvez ajouter ce qui suit à .vimrc pour définir correctement la mise en évidence de la ligne de curseur : -.
function s:SetCursorLine()
set cursorline
hi cursorline cterm=none ctermbg=darkblue ctermfg=white
endfunction
autocmd VimEnter * call s:SetCursorLine()
Un peu d'explication sur la raison pour laquelle cela fonctionne. En plus de diverses informations sur les tampons et les fenêtres, mksession enregistre le nom du schéma de couleurs actuel. Celui-ci est restauré lors du démarrage du programme par la restauration de la session. Cependant, puisque la restauration de la session est généralement effectuée après l'exécution de .vimrc (en utilisant une fonction invoquée par 'autocmd VimEnter *'), le paramètre de mise en évidence de la ligne du curseur dans .vimrc est réinitialisé par défaut pour le schéma de couleurs restauré.
La fonction ci-dessus, invoquée par l'intermédiaire de l'autocmd, sera exécutée une fois que toute l'initialisation aura été effectuée, ce qui permettra de mettre en évidence la ligne du curseur.
HTH.
8 votes
Probablement à cause de la formulation malheureuse de la question. J'ai pris la liberté de la réécrire pour clarifier l'énoncé, et j'ai également neutralisé le vote négatif.