modalità numero di riga ibrida in emacs?


11

È possibile mostrare il numero assoluto della riga corrente, anziché "0", in modalità numero riga relativa? Talvolta viene definita "modalità numero di riga ibrida".

Come questo:

 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]); 

Ecco come lo fai in vim .

Sto correndo male e attivo la modalità relativa del numero di riga nei miei .emac in questo modo:

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

Non vedo alcun pacchetto per questo o qualsiasi personalizzazione disponibile per esso nei pacchetti esistenti. Ho una certa familiarità con elisp, quindi potrebbe essere possibile capire come agganciare il codice esistente, ad esempio con un consiglio, ma preferirei evitare di seguire questa strada, se possibile.

Grazie molto.


linum-relative-global-modeè fornito da evil?
phils,

no, fa parte del pacchetto emacs standard "relative al lino". L'esecuzione del male probabilmente non ha nulla a che fare con questa domanda, a parte il fatto che i numeri di riga relativi hanno più probabilità di essere utili agli "utenti vi", cioè alle persone che corrono male. Avevo pensato di menzionarlo nel caso fosse in qualche modo rilevante.
vt5491,

Nessun pacchetto di questo tipo (né "relativo al linum") nel repository standard e non una libreria predefinita. Forse intendevi uno dei repository di pacchetti non standard? Dovresti sempre essere specifico su tutte le librerie non standard a cui ti riferisci.
phils,

github.com/coldnew/linum-relative . Per "standard" non intendevo implicare parte della base di emacs, ma solo un pacchetto "standard", ad esempio "ordinario" sotto melpa. E sì, l'ho scritto male - è "relativo al linum" e non "al relativo". Dispiace per la confusione.
vt5491,

FWIW, Emacs 26 porta la numerazione delle righe nativa (leggi: veloce), che può essere ibrida se si imposta display-line-numberssu relativee display-line-numbers-current-absolutesu t(impostazione predefinita).
Basilio,

Risposte:


10

È possibile mostrare il numero di riga corrente anziché "0" personalizzando la linum-relative-current-symbolvariabile.

È possibile modificare quella variabile in uno dei diversi modi.

  • Mx RET relativo al linum di gruppo personalizzato RET

    Da lì, personalizza la variabile "Linum Relative Current Symbol" (il cui valore predefinito è 0). Se premi sul link "Altro", sotto di esso, la descrizione completa della variabile sarà:

    Il simbolo che si desidera visualizzare sulla riga corrente, per impostazione predefinita è 0.

    Puoi usare qualsiasi stringa come "->". Se questa variabile è una stringa vuota, relativo al linum mostrerà il numero di riga reale sulla riga corrente.

    Quindi, imposta quel valore su stringa vuota, semplicemente cancellalo 0e premi "Applica e Salva".

  • Un altro modo è quello di aggiungere il seguito alla configurazione di emacs e valutarlo:

    (setq linum-relative-current-symbol "")

-1

Sto eseguendo spacemacs e lo M-x linum-relative-modefa esattamente.

Puoi anche aggiungere:

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

alla dotspacemacs/user-configfunzione in .spacemacsper impostare i numeri di riga in questo stile in modo permanente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.