Bagaimana cara menampilkan nomor baris di emacs (bukan di baris mode)?

27

Saya tahu cara menampilkan nomor baris (dan kolom) di mode-line, tetapi saya ingin emacs untuk menampilkan nomor baris untuk semua baris di sisi kiri. Saya telah melihat ini dilakukan dalam vim dan editor teks lainnya. Bagaimana saya melakukan ini untuk emacs?

Luke
sumber
Diskusi Meta tentang penandaan pertanyaan ini
Gilles 'SO- stop being evil'

Jawaban:

30

Seperti yang disebutkan @ eric-brown, Anda dapat menggunakannya M-x linum-mode.

Ide bagus lainnya adalah menggunakan (add-hook 'prog-mode-hook 'linum-mode)init.el Anda untuk secara otomatis mengaktifkan linum-mode di semua mode pemrograman.

Untuk versi Emacs> = 26 Anda dapat menggunakan display-line-numbers-modeatau global-display-line-numbers-mode.

Lihat EmacsWiki

Maciej Goszczycki
sumber
Jawaban ini sudah usang, lihat jawaban menggunakan display-line-numbers-mode.
ideasman42
Anda mungkin juga menemukan (global-display-line-numbers-mode)berguna.
Lorem Ipsum
10

M-x linum-modeakan melakukan trik. Jika Anda ingin melakukan ini untuk semua buffer, maka M-x global-linum-modeakan melakukan ini.

Eric Brown
sumber
Apakah Anda tahu cara saya bisa membuat ini permanen?
Luke
1
(sesuai saran nispio dan mgoszcz2) penambahan (global-linum-mode)file .emacs.d / init.el Anda akan membuatnya permanen. Saya menemukan mode global-linum menjadi sedikit berlebihan, dan saran mgoszcz2 untuk mengaktifkannya hanya dalam mode tertentu adalah yang baik.
Eric Brown
7

Jika Anda menggunakan Emacs 26 atau yang lebih baru, Anda dapat menggunakan display-line-numbers-mode.

dari etc/NEWS.26:

** Emacs sekarang mendukung tampilan opsional nomor baris di buffer. Ini mirip dengan apa yang disediakan oleh 'mode-linum', tetapi jauh lebih cepat dan tidak merebut margin tampilan untuk nomor baris. Sesuaikan variabel 'lokal-line-number' variabel penyangga untuk mengaktifkan tampilan opsional ini. Atau, Anda dapat menggunakan mode minor 'mode layar-angka-mode' atau mode 'global-display-line-number-number-mode'. Saat menggunakan mode ini, sesuaikan 'tipe-baris-angka-tampilan' dengan nilai yang sama seperti yang akan Anda gunakan dengan 'angka-baris-tampilan'.

Yasushi Shoji
sumber
4

nlinum-modeadalah pilihan lain. Ini memiliki antarmuka yang sama seperti linum-mode, sehingga Anda dapat menggunakan kait yang sama, tetapi menggunakan teknologi yang berbeda untuk menjadi lebih hebat. Kutipan dari nlinum.el:

;; Ini seperti mode linum, tetapi menggunakan jit-lock untuk (semoga) lebih efisien.

Anda dapat menginstalnya melalui GNU Elpa melalui yang biasa list-packages.

http://elpa.gnu.org/packages/nlinum.html

fgeller
sumber
1

Tentu linum-modepilihan yang bagus. Jika Anda tidak selalu ingin melihat nomor baris, seperti saya, Anda dapat menggunakan trik ini dari apa .emacs.d !? blog.

Ini sementara diaktifkan linum-modesaat Anda menjalankan goto-line.

Berikut kode dari blognya:

(global-set-key [remap goto-line] 'goto-line-with-feedback)

(defun goto-line-with-feedback ()   "Show line numbers temporarily, while prompting for the line number input"   (interactive)   (unwind-protect
      (progn
        (linum-mode 1)
        (goto-line (read-number "Goto line: ")))
    (linum-mode -1)))
Pak Wacky
sumber