hybrydowy tryb numeru linii w emacsie?

11

Czy w trybie względnego numeru linii można wyświetlić bezwzględną liczbę bieżącej linii zamiast „0”? Jest to czasami określane jako „hybrydowy tryb numeru linii”.

Lubię to:

 7                                                                                                      
  6          this.oscs[i].oscillator.start();                                                            
  5        }                                                                                             
  4                                                                                                      
  3        this.bindController();                                                                        
  2      };                                                                                              
  1                                                                                                      
252      factory.stop = function () {  <- current line number shows                                                                                       
  1        console.log('theremin: now in stop 2');                                                       
  2        this.leapController.disconnect();                                                             
  3        //this.leapController.removeListener('frame', factory.ctrlFrameHandler);                      
  4        //this.leapController.removeListener('frame', this.ctrlFrameHandler);                         
  5        this.leapController.removeListener('frame', this.leapController.listeners('frame')[0]); 

Oto jak to robisz w vimie .

Używam zła i aktywuję tryb względnego numeru linii w moich .emacs w następujący sposób:

(linum-mode)
(linum-relative-global-mode)

Nie widzę w tym żadnych pakietów ani dostosowań dostępnych w istniejących pakietach. Jestem trochę obeznany z elisp, więc może być możliwe, aby dowiedzieć się, jak podpiąć się do istniejącego kodu, np. Z radą, ale wolę unikać tej drogi, jeśli to możliwe.

Wielkie dzięki.

vt5491
źródło
linum-relative-global-modezapewnia evil?
phils
nie, jest to część standardowego pakietu emacs „linenum-relative”. Ucieczka przed złem prawdopodobnie nie ma nic wspólnego z tym pytaniem, poza faktem, że względne numery linii najprawdopodobniej przydadzą się „użytkownikom vi”, tj. Osobom rządzącym złem. Pomyślałem, że wspomnę o tym, na wypadek, gdyby miało to jakikolwiek związek.
vt5491
Nie ma takiego pakietu (ani „zależnego od linum”) w standardowym repozytorium, a nie w domyślnej bibliotece. Czy miałeś na myśli jedno z niestandardowych repozytoriów pakietów? Zawsze powinieneś sprecyzować wszelkie niestandardowe biblioteki, o których mowa.
phils
github.com/coldnew/linum-relative . Przez „standardowy” nie miałem na myśli sugerowania części bazy emacs, ale tylko „standardowe”, np. „Zwykłe” opakowanie pod melpą. I tak, popełniłem błąd - to „Linum-krewny”, a nie „bielizny-krewny”. Przepraszam za zamieszanie.
vt5491
FWIW, Emacs 26 oferuje natywną (czytaj: szybką) numerację linii, która może być hybrydowa, jeśli ustawisz display-line-numbersna relativei display-line-numbers-current-absolutena t(domyślnie).
Basil

Odpowiedzi:

10

Możesz ustawić wyświetlanie bieżącego numeru wiersza zamiast „0”, dostosowując linum-relative-current-symbolzmienną.

Możesz zmienić tę zmienną na jeden z wielu sposobów.

  • MX dostosuj grupę RET RET względny RUM

    Stamtąd dostosuj zmienną „Linum Relative Current Symbol” (której domyślną wartością jest 0). Jeśli klikniesz link „Więcej”, poniżej znajdziesz pełny opis zmiennej:

    Symbol, który chcesz wyświetlić w bieżącym wierszu, domyślnie jest to 0.

    Możesz użyć dowolnego łańcucha, takiego jak „->”. Jeśli ta zmienna jest pustym ciągiem, w zależności od linii będzie pokazywał rzeczywistą liczbę linii w bieżącej linii.

    Tak więc ustaw tę wartość na pusty ciąg, po prostu usuń ją 0i naciśnij „Zastosuj i zapisz”.

  • Innym sposobem jest dodanie poniższej konfiguracji do emacsa i jej ocena:

    (setq linum-relative-current-symbol "")
Kaushal Modi
źródło
-1

Korzystam z kosmicznych i robię M-x linum-relative-modeto dokładnie.

Możesz także dodać:

(setq-default dotspacemacs-line-numbers 'relative)

do dotspacemacs/user-configfunkcji in, .spacemacsaby na stałe ustawić numery linii w tym stylu.

Nico
źródło