Emacs - 特定的Linum定制

bit*_*ips 1 emacs customization whitespace line-numbers

我正在尝试将一些相当具体的自定义应用于Emacs linum.el,使用此EmacsWiki页面上的行号(标题为Linum:从文本中分隔行号)作为指南.

我实现了对linum.el的编辑,在行号右侧添加了一个空格.我现在要弄清楚的是如何在行号的左侧添加一个额外的空格,以便行号看起来像这样:

| 1 |#include <stdio.h>  (Vertical bars for visualization)
| 2 |int main()
Run Code Online (Sandbox Code Playgroud)

我想要完成的另一个定制包括为行号着色背景的正确空间.当我为linum面设置背景时,它不会为行号右侧的新空间着色.

为了说明,以下是linum背景目前的涵盖方式:

(current) |1| #!/bin/bash   -- vs. -->   |1 |#!/bin/bash (ideal)
          |2| echo "123"    --------->   |2 |echo "123"
Run Code Online (Sandbox Code Playgroud)

我试图通过盲目修补EmacsWiki中提供正确空间的线来实现前者(左上空),但没有成功.不幸的是,由于我对Emacs和Elisp有点新鲜,我的技能还没有达到我自己能够轻易改变的地方.


链接:

EmacsWiki:行号[部分 - Linum:从文本中分隔行号 ]

http://www.emacswiki.org/emacs/LineNumbers

tun*_*ngd 15

我相信设置(setq linum-format "%d ")会做你想要的.如果您还想要左侧的空格,请使用" %d "格式.

  • @mellowmaroon:我真的不知道.Emacs将使用显示最高行号所需的任何列.具有1-9行的文件:1列,10 - 99行:2列.etc.如果你想拥有至少一个固定数量的列,你可以使用`"%4d"`.我通常使用`"%3d"`因为我认为具有> = 1k行的文件应该被重构. (4认同)