原生Emacs配置

3 min

换到原生Emacs后,为了给org-mode配置一个比较好的环境,对Emacs进行了一番配置。

配置包管理器

Emacs默认支持用外部源装插件,用下面代码就可以激活:

(require 'package) ;; 这一行似乎不用加
(setq package-archives '(("gnu"   . "http://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")
                         ("melpa" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/stable-melpa/")))
(package-initialize)

目前对于外部插件的需求不是很大,只要三个包:

  • gotham-theme Gotham主题
  • doom-themes Doom Emacs自带主题(推荐)
  • org-superstar 美化org文件的标题(不推荐用org-bullets,因为这个插件很久没更新而且观感没org-superstar好)
  • htmlize 将buffer转换为HTML(Debian上可以用sudo apt install elpa-htmlize安装)

这些插件都可以在Stable Melpa,所以个人推荐用更稳定的Stable Melpa代替Melpa

功能配置

Emacs默认开启菜单栏,工具栏,不简洁,所以禁用菜单栏和工具栏。

(tool-bar-mode 0)
(menu-bar-mode 0)

另外,在Buffer内还会显示滚动条,所以也要禁用。

(scroll-bar-mode 0)

menu-bar-mode对初次上手Emacs非常有帮助,推荐手动M-x开启


鼠标悬停在某些地方会显示Tooltip,显示效果不好,所以禁用Tooltip:

(tooltip-mode 0)

在每个buffer底部会有一个mode-line,里面可以显示org-clock,org-timer等信息。Emacs默认有一些对mode-line的特殊显示模式。

mode-line默认会显示行数,要默认显示列数在初始化文件加入:

(column-number-mode 1)

开启winner-mode,支持把窗口改动撤销:

(winner-mode 1)

C-c LEFT就可以撤销窗口改动。

显示电池

(display-battery-mode 1)

Emacs默认支持显示电池,可以在mode-line里看到百分比以及充电情况,比较有用。

下面这个代码可以在mode-line显示时间,不过由于大多数系统都在任务栏显示时间,所以没什么用,还会占用mode-line空间

(display-time-mode 1)

本人默认喜欢把Emacs最大化,在org-mode一些配置中可以更改dotspacemacs-maximized-at-startup来自动最大化。原生Emacs可以用一个内置函数来最大化:

(toggle-frame-maximized)

开启Emacs自动补全括号:

(electric-pair-mode 1)

其他

Emacs可以保存当前的窗口列表,开启desktop-save-mode即可,在org-mode里非常有用。

(desktop-save-mode 1)

编辑文件时Emacs会产生文件名~这种备份文件,设置为不产生备份文件:

(setq make-backup-files nil)

如果光标到了尽头会出现警示音,很烦人,设置为不发出声音:

(setq ring-bell-function 'ignore)

高亮光标所在行:

(global-hl-line-mode 1)

参考