远方有多远,请你告诉我!

Emacs : 第一天 - 准备开始

Posted on By 赵赵赵小白

  1. Spacemacs Rocks 原文
  2. 下载GNU Emacs
  3. 改键,把Control映射到CapsLK上,让使用control键更方便

    • Ubuntu下载 Tweak-tool : sudo apt install gnome-tweak-tool
  4. 阅读Emacs官方帮助文档,打开Emacs C-h t (ctrl + h 按下后松开再按 t(当前窗口打开帮助文档))
  5. 阅读Learn X in Y Minutes,大致了解一下Elisp语言

常见符号所代表的意义

  • M(meta or alt), 在 Mac 下为 Option 键
  • s(super), 在 Mac 下为 Command 键
  • S(shift)
  • C(ctrl)

光标移动

  • C-f 向前移动一个字符位, f 代表 forward
  • C-b 向后移动一个字符位, b 代表 backward
  • C-p 移动至上一行, p 代表 previous
  • C-n 移动至下一行, n 代表 next
  • C-a 移动至行首, a 代表 ahead
  • C-e 移动至行尾, e 代表 end

常用文件操作快捷键组合

  • C-x C-f 打开目标文件, f 代表 find/file
  • C-x C-s 保存为当前缓冲区(Buffer), s 代表 save
  • C-x C-c 清空所有缓冲区,即退出软件, c 代表 clean

内置功能

Emacs 中有一部分功能是默认禁用,如果有需要的话可以开启他们.
例如:显示行号,语法高亮,显示时间,括号匹配等等.

获取帮助

Emacs是一个富文档编辑器(Self document, extensible editor)与之相对的还有纯文本编辑器(例如微软自带的记事本)

  • C-h k 寻找快捷键帮助信息
  • C-h v 寻找变量的帮助信息
  • C-h f 寻找函数的帮助信息

开始 Hacking

Emacs 的配置文件默认保存在 Linux : ~/.emacs.d/init.el Windows : c:user/app/.emacs.d/init.el 文件中. (如果没有可自行创建), 也可以保存在 ~/.emacs

注意: 如果希望把配置放在~/.emacs.d 文件中, 那么需要手动删除 ~/.emacs 文件

在开始配置之前让我们先来区别 Emacs 中 Major Mode 与 Minor Mode 的区别。Major Mode 通常是定义对于一种文件类型编辑的核心规则,例如语法高亮、缩进、快捷键绑定等。 而 Minor Mode 是除去 Major Mode 所提供的核心功能以外的额外编辑功能(辅助功能)。 例如在下面的配置文件中 tool-bar-modelinum-mode 等均为 Minor Mode.

简单来说就是,一种文件类型同时只能存在一种 Major Mode 但是它可以同时激活一种或多 种 Minor Mode。如果你希望知道当前的模式信息,可以使用 C-h m 来显示当前所有开启 的全部 Minor Mode 的信息.

简单的编辑器自定义

下面是一些简单的编辑器配置信息, 你需要做的就是将其写入你的配置文件中 (~/.emacs.d/init.el) 即可.

;; 看过Learn X in Y Minutes 后对这些代码熟悉吧.

;; 关闭工具栏,tool-bar-mode 即为一个 Minor Mode
(tool-bar-mode -1)

;; 关闭文件滚动条控件
(scroll-bar-mode -1)

;; 显示行号
(global-linum-mode 1)

;; 更改光标的样式(不能生效,解决方案见第二集)
(setq cursor-type 'bar)

;; 关闭启动帮助画面
(setq inhibit-splash-screen 1)

;; 关闭缩进 (第二天中被去除, 缩进是我们写代码时经常用到的)
;; (electric-indent-mode -1)

;; 更改显示字体大小 16pt
;; http://stackoverflow.com/questions/294664/how-to-set-the-font-size-in-emacs
(set-face-attribute 'default nil :height 160)

;; 快速打开配置文件
(defun open-init-file()
  (interactive)
  (find-file "~/.emacs.d/init.el"))

;; 这一行代码,将函数 open-init-file 绑定到 <f2> 键上
(global-set-key (kbd "<f2>") 'open-init-file)

在每次编辑配置文件后, 刚刚做的修改并不会立刻生效. 这时你需要重启编辑器或者重新加 载配置文件. 重新加载配置文件你需要在当前配置文件中使用 M-x load-file 双击两次 回车确认默认文件名, 或者使用 M-x eval-buffer 去执行当前缓冲区的所有 Lisp 命令. 你也可以使用 C-x C-e 来执行某一行的 Lisp 代码. 这些可使刚刚修改的配置文件生效. 当然你也可以将这些函数绑定为快捷键.

插件管理

使用默认的插件管理系统(可在菜单栏 Options > Manage Emacs Packages 中找到)安 装 Company 插件,他是一个用于代码补全的插件。它的名字代表补全一切的意思( Comp lete Any thing)。因为默认的插件管理系统提供的插件十分有限,所以我们会在之后的 几天中继续将其强化。

使用的下面的配置将 Company-mode 在全局模式下激活

;; 开启全局 Company 补全
(global-company-mdoe 1)

Org-mode

简单的 Org-mode 使用, 它可以列出提纲, 并方便地使用 tab 键来对其进行展开与关闭. C-c C-t 可以将一个条目转换成一条待办事件(使用 Emacs 打开 .org 后缀的文件,自动进入org模式).

* 一级标题
** 二级标题
*** 三级标题 以此类推