如何在emacs中显示行号(不在模式行中)?


Answers:


30

正如@ eric-brown提到的,您可以使用M-x linum-mode

另一个好主意是(add-hook 'prog-mode-hook 'linum-mode)在init.el中使用它在所有编程模式下自动启用linum-mode。

对于Emacs版本> = 26,可以使用display-line-numbers-modeglobal-display-line-numbers-mode

参见EmacsWiki


该答案已过时,请参阅使用display-line-numbers-mode
ideaman42 '18 -10-26

您可能还会发现(global-display-line-numbers-mode)有用。
Lorem Ipsum

10

M-x linum-mode会成功的 如果您希望对所有缓冲区M-x global-linum-mode都执行此操作,则将执行此操作。


你知道我可以永久化的方法吗?
路加福音

1
(根据nispio和mgoszcz2的建议)(global-linum-mode)在.emacs.d / init.el文件中添加文件将使其永久存在。我发现global-linum-mode有点过分,mgoszcz2的建议仅在某些模式下启用它是一个很好的建议。
埃里克·布朗

7

如果您使用的是Emacs 26或更高版本,则可以使用display-line-numbers-mode

来自etc/NEWS.26

** Emacs现在支持在缓冲区中可选显示行号。这类似于“线性模式”提供的功能,但速度更快,并且不会占用行号的显示余量。自定义缓冲区局部变量“ display-line-numbers”以激活此可选显示。另外,您可以使用“显示行号模式”次要模式或全局“全局显示行号模式”。使用这些模式时,请使用与“显示行号”相同的值来自定义“显示行号类型”。


4

nlinum-mode是另一种选择。它具有与相同的界面linum-mode,因此您可以使用相同的钩子,但是它使用不同的技术来提高性能。引用自nlinum.el

;; 这类似于linum-mode,但是使用jit-lock可以(希望)更加有效。

您可以通过GNU Elpa常规安装它list-packages

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


1

当然linum-mode是一个不错的选择。如果您不总是希望像我一样看到行号,则可以从出色的.emacs.d!中使用此技巧。博客。

linum-mode在您运行时会暂时启用goto-line

这是他博客中的代码:

(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)))
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.