(モード行ではなく)emacsで行番号を表示するにはどうすればよいですか?


27

モード行で行番号(および列)を表示する方法は知っていますが、emacsで左側のすべての行の行番号を表示したいと思います。これはvimや他のテキストエディターで行われています。emacsでこれを行うにはどうすればよいですか?


回答:


30

@ eric-brownが言及したように、を使用できますM-x linum-mode

もう1つの良いアイデアは(add-hook 'prog-mode-hook 'linum-mode)、init.elで使用して、すべてのプログラミングモードでlinumモードを自動的に有効にすることです。

Emacsバージョン26 display-line-numbers-mode以上の場合、またはを使用できますglobal-display-line-numbers-mode

EmacsWikiを参照


この回答は時代遅れdisplay-line-numbers-modeです。を使用して回答を参照してください。
ideasman42

また、(global-display-line-numbers-mode)役に立つかもしれません。
ロレムイプサム

10

M-x linum-modeトリックを行います。すべてのバッファに対してこれを有効にしたい場合、これM-x global-linum-modeを行います。


このパーマネントを作成する方法を知っていますか?
ルーク14

1
(nispioとmgoszcz2の提案による)(global-linum-mode).emacs.d / init.elファイルに追加すると、永続的になります。global-linum-modeは少し過剰であると思いますが、特定のモードでのみ有効にするというmgoszcz2の提案は良いものです。
エリックブラウン14

7

Emacs 26以降を使用してdisplay-line-numbers-modeいる場合は、を使用できます。

からetc/NEWS.26

** Emacsは、バッファ内の行番号のオプション表示をサポートするようになりました。これは「linum-mode」が提供するものと似ていますが、はるかに高速で、行番号の表示マージンを奪いません。バッファローカル変数 'display-line-numbers'をカスタマイズして、このオプションのディスプレイをアクティブにします。または、「表示ライン番号モード」マイナーモードまたはグローバル「グローバル表示ライン番号モード」を使用できます。これらのモードを使用する場合は、「display-line-numbers-type」で使用するのと同じ値で「display-line-numbers-type」をカスタマイズします。


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良い選択です。私のように常に行番号を表示したくない場合は、優れたWhat the .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)))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.