看本文前 必读

  • 本文提到配置文件,如果不特别指明,就是”~/.emacs”。
  • 文中以”C-“和”M-“分别指代“Ctrl-”与“Alt-”组合键。
  • 以”C-x k”表示按住Ctrl-x,释放后再按k键。
  • 文中表示文件时(非代码中间),文件路径用双引号括起来。你在操作时注意区分。
  • 代码框中的双引号就是引号。
  • 本文旨在简单介绍Emacs的使用,因此文中部分内容比较简略,感兴趣的请自行百度详细教程。

吹一波Emacs

Emacs和Vi编辑器分别被称为“编辑器之神”和“神之编辑器”,是指它们的功能极为强大。但是对于新手来说,打开这两个编辑器的第一感觉是,“这什么玩意儿,也敢称神?”我第一感觉也是如此。在高手之间,为了这两种编辑器究竟哪种是最“优秀”的,引发了旷日持久的“圣战”。但我不会在两者之间进行比较,本文只是介绍Emacs的个人使用习惯的(Emacs在不同人手里是完全不同的)。

我选择Emacs起初只是因为 org-mode ,这是组织文本的神器。这个功能好用到有人为Vi也写了实现的插件,但是终归没有Emacs原生的好用。Emacs的理想是可以不用离开它,处理您的所有日常事务。离开Emacs也就是离开电脑工作的时候。可以说,“伪装成操作系统的编辑器”是对Emacs的贴切评价。

Emacs配置

一般来说,Emacs的主配置文件在您的家目录中的.emacs文件中,也可以通过主配置文件指定其他配置的位置。

配置前的工作

首先,要建立一个文件夹用来放插件与配置文件。我将该文件放在~/serviceData/emacs下,在文件夹中建立一个lisp子文件夹,放置lisp扩展。再建立一个~/.emacsbkup文件夹放置自动产生的备份文件。

建立本地和在线扩展库

Emacs有强大的扩展功能。将几个著名的在线扩展包库加入配置文件就能方便的安装很多扩展了。

1
2
3
4
5
6
;; 添加在线的扩展包库                                                                                                                                  
(require 'package)
(package-initialize)
(setq package-archives '(("gnu" . "http://elpa.emacs-china.org/gnu/")
("org" . "http://elpa.emacs-china.org/org/")
("melpa" . "http://elpa.emacs-china.org/melpa/")))

在线安装扩展的方法后面再介绍。

有一些人为Emacs写的很强大、有趣的扩展没有放入几个著名的在线扩展库,需要手动安装。可以建立一个本地扩展库,将这些扩展集中存放。

将下面代码加入~/.emacs文件中,以便emacs找到你的扩展:

1
2
;; 本地扩展库
(add-to-list 'load-path "~/serviceData/emacs/lisp")

之后就可以将所有lisp扩展放在这个文件夹里,然后在~/.emacs加入(require \'xxx)使用该扩展(xxx代表扩展名)

备份文件单独存放

Emacs在你编辑文件时默认会将原文件备份,备份的方式是在文件后面加个小尾巴。这是个隐藏文件。但是有时候这个备份文件会很闹心,比如有时你向服务器或者github等站点上传文件或向朋友分享时会将该文件分享出去。或者,你原来编辑的私密文件已经删除了,但是这个备份文件还在。此时一旦被不小心分享出去就会造成损失或是尴尬。有人会干脆关闭emacs的自动备份功能。其实更好的办法是将所有备份放到统一的目录,这样既不会丢失备份,也避免上述的尴尬情况。

配置如下:

1
2
;; 所有备份文件默认移动到文件夹中
(setq backup-directory-alist (quote (("." . "~/.emacsbkup"))))

自动保存

这个插件在你停止敲键盘1s钟后,就会把没有保存的文件全部保存一遍。这个防止你写了很多文字,但是忘了保存。并且它在你的操作间隙保存文件,不会和你抢CPU的。

要使用自动保存功能,请下载auto-save.el 放在本地扩展库中,然后再加入如下配置:

1
2
3
(require 'auto-save)            ;; 加载自动保存模块
(auto-save-enable) ;; 开启自动保存功能
(setq auto-save-slient t) ;; 自动保存的时候静悄悄的, 不要打扰我

修改默认目录

当打开emacs时,默认是从您的家目录开始进入。您可以定义默认进入打开目录下的文件。
(setq command-line-default-directory "/Your/Path/")

Emacs使用

想要练习Emacs的基本使用方法,可以键入Ctrl-h t进入自学教材。也可以直接打开Emacs,看到蓝色的超链接,点击Emacs Tutorial,练习Emacs的基本使用。下面介绍几个常用的使用技巧。
| 按键 | 功能 |
| — | — |
| C-x C-f 文件地址 | 打开文件地址上的文件 |
| C-x k | 关闭当前缓冲区 |

参考资料