行号显示及设置

Table of Contents

1 如何显示行号

让当前的Buffer显示行号:

M-x linum-mode

或者让所有Buffer显示行号:

M-x global-linum-mode

2 启动Emacs自动显示行号

如果要让Emacs启动后自动显示行号,在配置文件里加入:

(global-linum-mode)

3 只对打开的文件显示行号

Emacs打开文件会把文件内容放置到Buffer中,Emacs有很多Buffer,但并不是每个Buffer都是文件,如果使用(global-linum-mode),会让所有的Buffer都显示行号。对于一些交互式开发一类的Buffer其实没有必要显示行号。可以在你的Emacs配置文件中加入以下代码,让非打开文件的Buffer不显示行号:

(defun my-linum-mode ()
  (if buffer-file-name
      (linum-mode)))

(define-globalized-minor-mode my-global-linum-mode linum-mode my-linum-mode)

(my-global-linum-mode)

4 设置行号显示列的宽度

默认显示的行号会紧挨着文本内容,如图:

default-show-line-number.png

在文本内容较多的情况下会显得非常紧凑,如果行首是以数字开头的,更让人难以辨认,所以我们希望行号显示和文本区域中间有间隔,就像下图中这样:

show-line-number.png

在配置文件中加入以下代码即可:

(setq linum-format "%4d ")

5 设置行号字体的颜色

上面第二张图中,我的行号颜色是黄色,Emacs可以自定义显示颜色:

M-x customize-face

输入linum,然后可以设置Foreground等等。设置后按C-x C-s保存。保存后Emacs会在配置文件中加入类似以下的Elisp代码:

(custom-set-faces
 '(linum ((t (:inherit (shadow default) :foreground "yellow")))))