mode nomor baris hybrid di emacs?

11

Apakah mungkin untuk menunjukkan jumlah absolut dari baris saat ini, bukannya "0", ketika dalam mode nomor baris relatif? Ini kadang-kadang disebut sebagai "mode nomor jalur hybrid".

Seperti ini:

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

Inilah cara Anda melakukannya dalam vim .

Saya menjalankan kejahatan, dan mengaktifkan mode nomor baris relatif di .emacs saya seperti:

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

Saya tidak melihat paket apa pun untuk ini, atau penyesuaian apa pun yang tersedia untuk itu dalam paket yang ada. Saya agak akrab dengan elisp, jadi mungkin untuk mencari tahu bagaimana cara menghubungkan kode yang ada misalnya dengan saran, tapi saya lebih suka menghindari pergi rute itu jika mungkin.

Terimakasih banyak.

vt5491
sumber
linum-relative-global-modedisediakan oleh evil?
phils
tidak, itu bagian dari paket standar emacs 'relatif-linenum'. Menjalankan kejahatan mungkin tidak ada hubungannya dengan pertanyaan ini, selain fakta bahwa nomor baris relatif paling mungkin berguna untuk 'vi pengguna' yaitu orang yang menjalankan kejahatan. Aku hanya berpikir aku akan menyebutkannya kalau-kalau itu entah bagaimana relevan.
vt5491
Tidak ada paket seperti itu (atau "relatif-linum") di repo standar, dan bukan perpustakaan default. Apakah Anda mungkin bermaksud salah satu dari repo paket non-standar? Anda harus selalu spesifik tentang perpustakaan non-standar yang Anda maksud.
phils
github.com/coldnew/linum-relative . Dengan 'standar' saya tidak bermaksud menyiratkan bagian dari basis emacs, tetapi hanya paket "standar" misalnya "biasa" di bawah melpa. Dan saya ya, saya salah mengeja itu - itu 'relatif linum' bukan 'linenum-relatif'. Maaf bila membingungkan.
vt5491
FWIW, Emacs 26 membawa penomoran baris asli (baca: cepat), yang dapat menjadi hibrid jika Anda mengatur display-line-numberske relativedan display-line-numbers-current-absoluteke t(default).
Basil

Jawaban:

10

Anda dapat membuat nomor baris saat ini ditampilkan alih-alih "0" dengan menyesuaikan linum-relative-current-symbolvariabel.

Anda dapat mengubah variabel itu dengan salah satu dari beberapa cara.

  • Mx kustomisasi RET grup, RET relatif -inum

    Dari sana, sesuaikan variabel "Linum Relative Current Symbol" (nilai simbol default 0). Jika Anda menekan tautan "Lainnya", di bawahnya, deskripsi lengkap dari variabel tersebut akan berbunyi:

    Simbol yang ingin Anda tampilkan pada baris saat ini, secara default adalah 0.

    Anda dapat menggunakan string apa saja seperti "->". Jika variabel ini adalah string kosong, linum-relative akan menampilkan nomor baris nyata pada baris saat ini.

    Jadi, atur nilai itu menjadi string kosong, cukup hapus itu 0dan tekan "Terapkan dan Simpan".

  • Cara lain adalah dengan menambahkan di bawah ini ke konfigurasi emacs Anda dan mengevaluasinya:

    (setq linum-relative-current-symbol "")
Kaushal Modi
sumber
-1

Saya menjalankan spacemacs dan M-x linum-relative-modemelakukan ini dengan tepat.

Anda juga dapat menambahkan:

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

ke dotspacemacs/user-configfungsi dalam .spacemacsuntuk mengatur nomor baris dalam gaya ini secara permanen.

nico
sumber