Est-il possible de l'afficher à la fois relative et absolue des numéros de ligne simultanément dans Vim? De chaque côté-à-côte, ou une autre intéressante présentation sont très bien.
Réponses
Trop de publicités?Oui, vous le pouvez. Utilisation RltvNmbr.vim pour afficher les nombres relatifs, et d'utiliser Vim pour afficher le sont absolus:
Vim 7.4 (Patch 7.3.787) afficher le numéro de ligne absolu au lieu de "0", lorsque "relativenumber" et "nombre" sont définis.
D' :h relativenumber
, 7.3
Lors de la configuration de cette option, 'nombre' est réinitialisé.
D' :h relativenumber
, à 7,4
Le nombre en face de la ligne du curseur dépend aussi de la valeur de 'nombre', voir |number_relativenumber| pour toutes les combinaisons des deux des options.
Raisonnablement parlant, vous ne pouvez pas. La numérotation des lignes est un-par-un tampon, contrôlée uniquement par l' 'number'
option.
Une idée folle, j'ai essayé: :vertical diffsplit
plus :setlocal relativenumber
. Cela fait deux copies de la mémoire tampon à côté l'un de l'autre, lié à la position de défilement parce qu'ils sont en mode diff. Cependant, il n'a vraiment pas fonctionner correctement. Les nombres relatifs ne sont pas mis à jour correctement (sur 7.3.154, bug potentiellement fixe plus tard, mais j'en doute—c'est à peine la peine), et même si ils l'ont fait, vous seriez coincé avec une grande horreur et la plus difficile de la gestion et de la navigation.
Vous pourriez le faire avec un plugin écrit à un tampon spécial qui vous garder sur la gauche, mais la mise en œuvre serait laid, et il serait encore rendre la navigation difficile (parce que c'est un autre tampon). Je suis ne va certainement pas passer du temps à la rédaction d'un tel plugin, mais je dois avouer que j'aimerais vous montrer les deux formes de la numérotation des lignes.
Combinant plnx et Macario réponses avec vim 7.4.
autocmd WinEnter,FocusGained * :setlocal number relativenumber
autocmd WinLeave,FocusLost * :setlocal number norelativenumber
Cette affiche Relative de Numérotation (avec la ligne en cours dans l'Absolu) dans la fenêtre active, et d'Absolu dans la non-centrée de la fenêtre.
Ce sont mes mappages relative et absolue des numéros de ligne permet de basculer entre le relatif et l'absolu.
Entrant dans une fenêtre définit la fenêtre de nombres relatifs, tout en laissant le jeu absolu. Ensuite, si vous faites une fissure verticale de la fenêtre vous se le même tampon avec une relative et absoulte numéros.
" setglobal relativenumber
autocmd WinEnter * :setlocal relativenumber
autocmd WinLeave,FocusLost * :setlocal number
autocmd InsertEnter * :setlocal number
autocmd InsertLeave * :setlocal relativenumber
function! g:ToggleNuMode()
if(&relativenumber == 1)
set number
else
set relativenumber
endif
endfunc
map <C-l> :call g:ToggleNuMode()<CR>