将启用的相对行号添加到init.el

时间:2018-08-23 16:11:47

标签: emacs org-mode

在Emacs 26.x中,如何使Emacs从默认打开的相对行号开始?

我尝试使用C-x h,然后单击菜单项,帮助显示以下内容

<menu-bar> <options> <showhide> <display-line-numbers> <relative> 
runs the command #[nil "\300\301!\210\302\303!\207"
[menu-bar-display-line-numbers-mode relative message "Relative line
numbers enabled"] 2 nil nil] (found in global-map), which is an
interactive compiled Lisp function.

因此尝试将命令添加为init.el作为

(menu-bar-display-line-numbers-mode relative message "Relative line
numbers enabled")

我如何进行这项工作?

1 个答案:

答案 0 :(得分:1)

不幸的是,在这种情况下,Emacs的帮助消息非常糟糕。菜单按钮绑定到一个匿名函数,并且帮助系统基本上在显示该函数的字节编译版本。我得到了Emacs源码,搜索了唯一的外观字符串“启用了相对行号”,并在lisp / menu-bar.el中找到了该函数:

   (lambda ()
     (interactive)
     (menu-bar-display-line-numbers-mode 'relative)
     (message "Relative line numbers enabled"))

因此,您可以使用仅接受一个参数的menu-bar-display-line-numbers-mode进行设置:

(menu-bar-display-line-numbers-mode 'relative)

典型的设置方法是将display-line-numbers-mode添加到模式挂钩

(add-hook 'foo-mode-hook #'display-line-numbers-mode)

或启用global-display-line-numbers-mode(如果您想在任何地方使用它们,

(global-display-line-numbers-mode 1)

,并将display-line-numbers-type设置为所需样式:

(setq display-line-numbers-type 'relative)