1、启动学习手册
1)进入Emacs,Help -> Emacs Tutorial
2)进入Emacs,C-h t
2、学习备忘
1)页面浏览快捷键shell
C-v 向前移动一屏
M-v 向后移动一屏
C-l 重绘屏幕,并将光标所在行置于屏幕的中央(是 CONTROL-L,不是 CONTROL-1)c#
2)光标移动快捷键安全
F 表明 forward(前进)
B 表明 backward(回退)
N 表明 next(下一行)
P 表明 previous(上一行)
C-f 向右移动一个字符
C-b 向左移动一个字符
M-f 向右移动一个词【对中文是移动到下一个标点符号】
M-b 向左移动一个词【对中文是移动到上一个标点符号】学习
C-n 移动到下一行
C-p 移动到上一行
C-a 移动到行首
C-e 移动到行尾spa
M-a 移动到句首
M-e 移动到句尾内存
M-< 移到文件头字符串
M-> 移到文件尾
emacs
3)前缀参数的使用
大部分的 Emacs 命令接受数字参数,而且对于多数命令而言,这些数字参数的做用是指定命令的重复次数。为一个命令指定数字参数(也就是重复次数)的方法是:先输入 C-u,而后输入数字做为参数,最后再输入命令。这种数字参数也称为
“前缀参数”,意思是说这个参数是先于使用它的命令而输入的。以下示:it
C-u 8 C-f 会向前移动 8 个字符io
注意: C-v 和 M-v 则属于另外一种类型的例外。当给定一个参数时,它们将滚动你指定的“行数”,而不是“屏数”。举例来讲,C-u 8 C-v 将屏幕向下滚动 8 行,而不是 8 屏。
4)在 EMACS 失去响应的时候解决方法
若是 Emacs 对你的命令失去响应,你能够用
C-g
来安全地终止这条命令。
C-g也能够终止一条执行太久的命令。
C-g 还能够取消数字参数和只输入到一半的命令。
5)命令解释
C-h k
后面再接想要解释的命令 好比
C-h k C-f
6)空格操做
Emacs 能够有多个窗格,每一个窗格显示不一样的文字。
C-x 1 只保留一个窗格(也就是关掉其它全部窗格)
7)删除(delete)和移除(kill)操做
<Delback> 删除光标前的一个字符
C-d 删除光标后的一个字符
M-<Delback> 移除光标前的一个词
M-d 移除光标后的一个词
C-k 移除从光标到“行尾”间的字符
M-k 移除从光标到“句尾”间的字符
删除区域内容
首先把光标移动到你想要移除的区域的一端,而后按
C-@ 或 C-SPC
(任一便可,SPC指空格)【注意,C-SPC 每每被中文用户设定成输入法热键,若是这样,C-SPC 就被系统拦截而无
法传递给 Emacs 了,所以这里仍是推荐使用C-@。】,而后将光标移动到另外一端,再按
C-w
就能够把位于这两点之间的全部文字移除了。
8)移除(kill)和删除(delete)的区别
“移除(kill)”和“删除(delete)”的不一样在于被移除的东西能够找回来,而被删除的就不行了。
【实际上,移除掉的东西虽然看起来“消失”了,但实际上被 Emacs 记录了下来,所以还能够找回来;而删除掉的东西虽然也可能还在内存里,可是已经被 Emacs“抛弃”了,因此就找不回来了。】从新插入被移除的文字称为“召回(yank)”。通常而言,那些可能消除不少文字的命令会把消除掉的文字记录 下来(它们被设定成了“可召回”),而那些只消除一个字符
或者只消除空白的命令就不会记录被消除的内容(天然你也就没法召回了)。
9)召回(yanking)
召回的命令是
C-y
M-y
它会在光标所在处插入你最后移除的文字。
若是你一次连按了好几下 C-k,那么全部被移除的行会被存储在一块儿,只要一个C-y 就能够把它们都召回。
C-y 能够召回最近一次移除的内容,那如何召回前几回移除的内容呢?它们固然没有丢,你能够用 M-y 来召回它们。在用 C-y 召回最近移除的文字以后,紧接着再按 M-y 就能够召回再前一次被移除的内容,再按一次 M-y 又能够召回再上一次的……连续使用 M-y 直到找到你想要召回的东西,而后什么也不用作,继续编辑就好了。
若是连续按 M-y 不少次,你可能会回到起始点,也就是最近移除的文字。
【这其实是一个环。】
10)撤销(UNDO)
C-x u
11)文件操做
C-x C-f 寻找一个文件
C-x C-s 储存这个文件
12)缓冲区(BUFFER)
Emacs 把每一个编辑中的文件都放在一个称为“缓冲区(buffer)”的地方。每寻找到一个文件,Emacs 就在其内部开辟一个缓冲区。用下面的命令能够列出当前全部的缓冲区:
C-x C-b 列出缓冲区
无论存在多少缓冲区,任什么时候候都只能有一个“当前”缓冲区,也就是你正在编辑的这个。若是你想编辑其它的缓冲区,就必须“切换”过去。上面讲过,用
C-x C-f
是一种办法。不过还有一个更简单的办法,那就是用
C-x b
这条命令,你必须输入缓冲区的名称。
若是有多个缓冲区都须要保存的话,使用下面命令
C-x s 保存多个缓冲区
13)命令集扩展
Emacs 的命令就像天上的星星,数也数不清。把它们都对应到 CONTROL 和 META组合键上显然是不可能的。Emacs 用扩展(eXtend)命令来解决这个问题,扩展命令有两种风格:
C-x 字符扩展。 C-x 以后输入另外一个字符或者组合键。
M-x 命令名扩展。M-x 以后输入一个命令名。
14)shell中挂起emacs
C-z 会把 Emacs“挂起”,也就是说,它会回到 shell但不退出 Emacs。在经常使用的 shell 中,一般能够用“fg”或者“%emacs”命令再
次回到 Emacs 中。
15)字符串替换的快速输入
M-x repl s<Return>
16)自动保存及崩溃恢复
自动保存文件的文件名的头尾各有一个“#”字符,好比你正在编辑的文件叫“hello.c”,那么它的自动保存文件就叫“#hello.c#”。这个文件会在正常存盘以后被 Emacs 删除。
一旦系统崩溃
重启系统后,打开原来的文件 如 hello.c,而后输入
M-x recover file<Return>
来恢复你的自动保存文件。
17) 回显区(ECHO AREA)
回显区位于屏幕的最下面一行。
18) 状态栏(MODE LINE)
位于回显区正上方的一行被称为“状态栏”。状态栏上会显示一些信息,好比:
--:** TUTORIAL.cn (Fundamental)--L670--54%----------------
19)主模式
Emacs 的主模式林林总总。有用来编辑程序代码的――好比 Lisp 模式;也有用来编辑各类天然语言文本的――好比 Text 模式。任何状况下只能应用一个主模式,其名称会显示在状态栏上,也就是如今显示“Fundamental”的地方。
主模式一般会改变一些命令的行为。比方说,无论编辑什么语言的程序代码,你均可以用一个相同的命令来添加注释。可是在不一样的语言中注释的语法每每是不一样的,这时不一样的主模式就会用各自不一样的语法规则来添加注释。主模式都是可
以用 M-x 启动的扩展命令,
M-x fundamental-mode
就能够切换到 Fundamental模式。
20)搜索
C-s 向前搜索
C-r 向后搜索
在 一次渐进式搜索中,Emacs 会尝试跳到搜索目标出现的位置。要跳到下一个命中位置,就再按一次 C-s。若是找不到目标,Emacs 会发出“哔”的一声,告诉你搜索失败。在整个过程当中,均可以用 C-g 来终止搜索。【你会发现 C-g 会让光标回到搜索开始的位置,而 <Return> 则让光标留在搜索结果上,这是颇有用的功能。】
21)多窗格操做
C-x 2 将屏幕划分红两个窗格且光标在上一个窗格中
C-M-v 向下滚动下方的窗格
C-M-S-v 向上滚动下方的窗格
C-x o 将光标移到其它窗格,连续使用能够遍历全部窗格
C-x 1 只保留当前在编辑的窗格
22)最通用的离开命令
ESC ESC ESC 离开