Unverified Commit c624a2c8 authored by Shuhao Zhang's avatar Shuhao Zhang Committed by GitHub
Browse files

Merge pull request #2605 from NachtgeistW/emacs

refactor[emacs.md]: Emacs
parents e27b89c3 a8d6a25a
Loading
Loading
Loading
Loading
+44 −30
Original line number Diff line number Diff line
author: ouuan, akakw1, Ir1d, partychicken, Xeonacid

## Emacs 入门教程
本页面为 Emacs 入门教程

15 分钟入门 Emacs
> 15 分钟入门 Emacs

### 简介
## 简介

Emacs 是一款非常容易上手的编辑器,只需要简短的几行配置就能使用,但是想要非常熟练地使用 Emacs 进行各项工作还是需要一定的时间。

作为入门教程,这里仅介绍如何使用 Emacs 的基本功能并能够较方便地用 Emacs 编写、调试代码。
作为入门教程,这里仅介绍 Emacs 的基本功能,以及较方便地用 Emacs 编写、调试代码的方法

### 入门
## 入门

这一部分用于介绍 Emacs 的基本功能及一些重要部分。
### 命令

#### 命令
命令在 Emacs 中有很大的作用。

命令在 Emacs 中有很大的作用,但是由于一般用快捷键代替输入命令,所以这里只简单介绍一下
使用 Application 键[^note1](Windows 系统下 Emacs 未指定这个键,需要手动设置)或者快捷键 M-x(<kbd>Alt</kbd>+<kbd>x</kbd>)可以打开命令输入,输入完按下回车可以执行命令

使用右 Ctrl 左边的第一个键(不是 windows 键,在 windows 系统下需要手动设置这个键)或者快捷键 M-x(Alt+x)可以打开命令输入,输入完按下回车可以执行命令
通常使用 `es` 或者 `eshell` 命令来打开 Eshell(类似一个终端)

通常我们使用 `es` 或者 `eshell` 命令来打开 eshell(类似一个终端)
输入命令通常可以用快捷键代替

#### 缓冲 (buffer)
### 缓冲 (buffer)

缓冲即打开的文件和进程,在不保存的情况下,在缓冲中修改并不会修改到文件。

在缓冲区的底部点击缓冲的名字或者使用快捷键可以切换缓冲。

#### 编译、调试和运行
### 编译、调试和运行

在顶部菜单栏中有一个 Tools 点开就有编译和调试,或者你也可以输入命令或者自定义快捷键使用编译和调试功能。
编译和调试功能的入口在顶部菜单栏 Tools 下拉栏。使用者也可以通过命令或者自定义快捷键使用编译和调试功能。

运行可以使用终端或 Eshell 运行程序。
可以使用终端或 Eshell 运行程序。

按下 Tools 中的调试 (gud-gdb) 后,输入程序名(一般会自动输好,但如果中途将程序另存为或者打开了两个需要调试的程序, **自动输好的文件名可能会有误** )即可开始调试。

#### 分屏
### 分屏

这个功能便于我们查看各个缓冲的内容,而不需要来回切换缓冲,方便我们测试、调试代码。
这个功能能让使用者同时查看各个缓冲的内容,而不需要来回切换缓冲,方便测试、调试代码。

分屏功能可以同时显示多个窗口,用鼠标拖动窗口的边缘可以缩放窗口。

@@ -48,19 +48,29 @@ Emacs 是一款非常容易上手的编辑器,只需要简短的几行配置
- 横向分屏 "C-x 3":将这个分屏横向分成两半
- 纵向分屏 "C-x 2":将这个分屏纵向分成两半

一般窗口分为四块:先横向分,调整一块的宽度约为 3/4 屏,作为编辑窗口,再将另一块横向分,一块作为调试和编译信息显示的窗口,另一块再纵向分,一块打开输入文件,一块打开输出文件。
推荐的窗口布局为将窗口分为四块:先横向分,调整一块的宽度约为 3/4 屏,作为编辑窗口将另一块横向分,一块作为调试和编译信息显示的窗口,另一块再纵向分,一块打开输入文件,一块打开输出文件。

![](./images/emacs.png)

#### 快捷键
### 快捷键

Emacs 拥有极为丰富的快捷键,可以大幅提高工作的效率,同时你也可以在配置中自定义快捷键或者设置快捷键的映射。
Emacs 拥有极为丰富的快捷键,可以大幅提高工作的效率。使用者可以在配置中自定义快捷键或者设置快捷键的映射。

由于快捷键过多,所以 Emacs 快捷键的使用不同于我们的操作系统,一般有以下三种:
由于快捷键过多,所以 Emacs 快捷键的使用与操作系统不同。

-  `F?``ESC` :直接按下对应的功能键
-  `M-?``C-?``C-M-?` :按下 `Alt` 或者 `Ctrl``M-` 对应 `Alt``C-` 对应 `Ctrl` )的同时按下 `?` 
-  `? ?` :先按下第一个 `?` 代表的键,松开再按下第二个 `?` 代表的键
为了方便描述,做如下约定:

| 字符  | 键位              |
| --- | --------------- |
| C   | <kbd>Ctrl</kbd> |
| M   | <kbd>Alt</kbd>  |
| ?   | 任意键位            |

一般有以下三种:

-  `F?``ESC` :直接按下对应的功能键。
-  `M-?``C-?``C-M-?` :按下<kbd>Alt</kbd>或者<kbd>Ctrl</kbd>的同时按下 `?`
-  `? ?` :先按下第一个 `?` 代表的键,松开再按下第二个 `?` 代表的键。

下面是一些常用的快捷键:

@@ -69,13 +79,13 @@ Emacs 拥有极为丰富的快捷键,可以大幅提高写工作的效率,
-  `C-x d` :打开一个目录
-  `C-x C-f` :打开一个文件(如果不存在文件则新建文件)

### 个性化
## 个性化

打开最初的 Emacs,非常丑,并且不好用,我们需要个性化设置。
刚安装好的 Emacs 外观难看且不好使用,因此需要对其进行个性化设置。

由于配置不好记,所以部分可以直接设置的部分建议不要记配置
由于配置不好记,所以部分可以直接设置的部分建议不要记配置

#### 直接设置
### 直接设置

- Options: `Highlight Matching Parentheses` 高亮匹配括号
- Options: `Blink Cursor` 设置光标闪烁
@@ -84,11 +94,11 @@ Emacs 拥有极为丰富的快捷键,可以大幅提高写工作的效率,
- Options Customize-Emacs: `Custom Theme` 选择配色方案,选择完后需要点击保存
- Options: `Save Options`  **保存配置** 

#### 配置
### 配置

在 home 目录下显示隐藏文件(Windows 系统在 **用户目录**`AppData\Roaming` 目录下),".emacs" 就是配置文件(如果没有说明之前没保存),打开修改即可如果有打开的 Emacs 需要重启 Emacs 生效。
在 home 目录下显示隐藏文件(Windows 系统在 **用户目录**`AppData\Roaming` 目录下),".emacs" 就是配置文件(如果没有说明之前没保存),打开修改即可如果 Emacs 已打开,则需要重启 Emacs,配置才能生效。

考场必备
考场推荐的配置如下。

```text
;;设置一键编译 可以自行添加参数 难背考场不建议使用 不建议依赖一键编译
@@ -219,3 +229,7 @@ Emacs 拥有极为丰富的快捷键,可以大幅提高写工作的效率,
     '(blink-cursor-mode nil)
    (custom-set-faces)
    ```

## 参考资料与注释

[^note1]: 该键的作用是调出鼠标右键菜单,一般为右<kbd>Ctrl</kbd>左边的第一个键。