2011-11-30 25 views

Odpowiedz

33

Tak, można. Używać RltvNmbr.vim do wyświetlania liczb względnych i użyć vim wyświetlanie absolutnych tych:

enter image description here

+2

Dlaczego nie jest to oznaczone jako odpowiedź ?! –

+0

@ Fire-Dragon-DoL Zainstalowałem tę wtyczkę, ale potrzebuję jej do wyświetlenia przy rozpoczynaniu samego vima. Co powinienem wprowadzić w pliku '.vimrc'? – noufal

+1

włączyć tę wtyczkę naprawdę spowalnia cały vim, np. przy zmianie linii przez j/k .. – lszk

7

Mówiąc rozsądnie, nie można. Numeracja linii to jeden na bufor, sterowany wyłącznie opcją 'number'.

Jedno szalone pojęcie, które próbowałem: :vertical diffsplit plus :setlocal relativenumber. Otrzymuje dwie kopie bufora obok siebie, połączone w pozycji przewijania, ponieważ są w trybie różnic. Jednak to naprawdę nie działa poprawnie. Liczby względne nie zostały pomyślnie zaktualizowane (w wersji 7.3.154, błąd może zostać naprawiony później, ale wątpię w to, aby było to niezbyt warte), a nawet gdyby tak było, utknąłbyś w trzeźwym spojrzeniu i trudniejszym zarządzaniu i nawigacji .

Możesz to zrobić, pisząc do specjalnego bufora, który trzymasz po lewej stronie, ale implementacja byłaby brzydka i nadal utrudniałaby nawigację (ponieważ jest to kolejny bufor). Ja na pewno nie zamierzam poświęcać czasu na pisanie takiej wtyczki, choć muszę przyznać, że chciałbym pokazać obie formy numerowania linii.

+0

Ach, myślałeś o tym tak rozpaczliwie jak ja. :) – mt3

+2

@ mt3 i możesz być zainteresowany, aby powrócić do pytania i odpowiedzi tia i zobaczyć, czy rozwiązanie wtyczki zostało opublikowane jako odpowiedź –

+1

OK, odznacziłem to jako zaakceptowane i wybrałem właściwą wtyczkę. – mt3

2

To są moje mapowania dotyczące względnych i bezwzględnych numerów linii przełącza między względną i bezwzględną.

Wejście do okna ustawia okno na względne liczby, pozostawiając ustawienie absolutne. Następnie, jeśli zrobisz pionowy podział okna, możesz użyć tego samego bufora z liczbami względnymi i absoulte.

" 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> 
15

vim 7,4 (patch 7.3.787) pokazuje bezwzględną liczbę linii, a nie „0”, gdy zarówno „relativenumber” i "numer" są ustawione.

Od :h relativenumber, 7,3

Po ustawieniu tej opcji 'number' jest resetowany.

Od :h relativenumber, 7,4

Numer w przedniej części linii kursora zależy również od wartości 'numer', zobacz | number_relativenumber | dla wszystkich kombinacji obu opcji .

5

Łącząc plnx i Macario odpowiedzi z vim 7.4.

autocmd WinEnter,FocusGained * :setlocal number relativenumber 
autocmd WinLeave,FocusLost * :setlocal number norelativenumber 

Wyświetla numerację Względną (z bieżącą linią w Absolute) w oknie fokusu i Absolutną w oknie niewyostrzonym.

Powiązane problemy