Como exibir números de linha no emacs (não na linha de modo)?

27

Eu sei como exibir números de linhas (e colunas) na linha de modo, mas eu gostaria que o emacs exibisse os números de todas as linhas no lado esquerdo. Já vi isso no vim e em outros editores de texto. Como faço isso para o emacs?

Luke
fonte

Respostas:

30

Como @ eric-brown mencionou, você pode usar M-x linum-mode.

Outra boa idéia é usar (add-hook 'prog-mode-hook 'linum-mode)no init.el para ativar automaticamente o modo linum em todos os modos de programação.

Para a versão Emacs> = 26, você pode usar display-line-numbers-modeou global-display-line-numbers-mode.

Veja EmacsWiki

Maciej Goszczycki
fonte
Esta resposta está desatualizada, consulte resposta usando display-line-numbers-mode.
ideasman42
Você também pode achar (global-display-line-numbers-mode)útil.
Lorem Ipsum 14/01
10

M-x linum-modefará o truque. Se você deseja efetuar isso para todos os buffers, M-x global-linum-modefará isso.

Eric Brown
fonte
Você sabe como eu posso tornar isso permanente?
Luke
11
(de acordo com a sugestão de nispio e mgoszcz2), a adição (global-linum-mode)ao seu arquivo .emacs.d / init.el o tornará permanente. Considero o modo global-linum um pouco excessivo, e a sugestão do mgoszcz2 de ativá-lo apenas em certos modos é boa.
Eric Brown
7

Se você estiver usando o Emacs 26 ou mais recente, poderá usá-lo display-line-numbers-mode.

de etc/NEWS.26:

** O Emacs agora suporta a exibição opcional de números de linha no buffer. Isso é semelhante ao que o 'modo linear' fornece, mas muito mais rápido e não usurpa a margem de exibição dos números de linha. Personalize a variável local do buffer 'display-line-numbers' para ativar esta exibição opcional. Como alternativa, você pode usar o modo secundário 'modo de exibição de números de linha' ou o modo global de 'modo de exibição de números de linha global'. Ao usar esses modos, personalize 'tipo de número de linha de exibição' com o mesmo valor que você usaria com 'números de linha de exibição'.

Yasushi Shoji
fonte
4

nlinum-modeé outra opção. Ele tem a mesma interface que linum-mode, portanto, você pode usar os mesmos ganchos, mas usa uma tecnologia diferente para ter melhor desempenho. Citação de nlinum.el:

;; É como o modo linum, mas usa o jit-lock para ser (esperançosamente) mais eficiente.

Você pode instalá-lo via GNU Elpa normalmente list-packages.

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

fgeller
fonte
1

Certamente linum-modeé uma boa escolha. Se você nem sempre quer ver os números das linhas, como eu, pode usar esse truque no excelente What the .emacs.d !? blog.

Isso é ativado temporariamente linum-modequando você executa goto-line.

Aqui está o código do seu blog:

(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)))
Mr. Wacky
fonte