光标移动 #
C-f向右移动一个字符,f代表forwardC-b向左移动一个字符,b代表backwardC-p移动到上一行p代表previousC-n移动到下一行n代表nextC-a移动到行首a代表aheadC-e移动到行尾e代表endC-v移动到下一屏C-l重绘屏幕,并将光标所在的行置于屏幕的中央M-a移动到句首M-e移动到句尾M-b光标移动到下一个词(这里的词指英文单词,对于中文来说,则是移动到下一个标点符号)M-f光标移动到前一个词M-v移动到上一屏M-<将光标移动到所有文字的最开头M->将光标移动到所有文字的最末尾C-u 数字 命令表示这些数字参数的作用是指定命令的重复次数, 也被称为前缀参数C-u 8 C-f会向前移动 8 个字符
通常惯例, Meta 系组合键用来操作 “由语言定义的单位(如词,句子,段落)",而 CONTROL 系列组合键用来操作 “与语言无关的基本单位(比如字符, 行等)"。
退出 Emacs #
C-x C-c
窗格 Windows
#
C-x 1只保留一个窗格(也就是关闭掉其它所有窗格)C-x 2上下打开两个窗格C-x 3左右打开两个窗格C-x o将光标移动到另一个窗格(other)C-M-v在一个窗格中编辑,使用C-M-v命令滚动另外一个窗格中的文字
多窗口 Multiple Frames #
M-x make-frame开启一个新的窗口M-x delete-frame关闭选中的窗口
插入与删除 #
<DEL>删除光标前的一个字符C-d删除光标后的一个字符M-<DEL>删除光标前的一个词M-d删除光标后的一个词C-k移除从光标到行尾间的字符M-k移除从光标到句尾间的字符C-y召回最近一次移除的内容M-y每按一次召回前一次的内容
撤销 Undo #
C-/如果修改了一段文字,又觉得改的不好,可以用undo命令进行撤销;如果连续多次的使用, 则会把以前的命令也依次撤销C-x u撤销
文件 #
C-x C-f查找文件C-x C-s保存文件M-x customize-variable make-backup-files关掉文件备份
缓冲区 Buffer #
C-x C-b列出缓冲区C-x b buffername切换到指定名称的缓冲区C-x s保存多个缓冲区(会找到所有已被修改但尚未存盘的缓冲区,然后逐个询问是否存盘)
命令集扩展 Extending The Command Set #
C-x字符扩展C-x之后输入另一个字符或者组合键M-x命令名扩展M-x之后输入一个命令名
自动保存 Auto Save #
Emacs 会定期将正在编辑的文件写入一个 “自动保存"文件中。自动保存文件的文件名的头尾各有一个 # 字符,比如你正在编辑的文件叫 hello.c, 那么它的自动保存文件就叫 #hello.c#. 这个文件会在正常存盘之后被 Emacs 删除。可以使用 M-x recover file 来恢复你的自动保存文件。
回显区 Echo Area #
如果 Emacs 发现你输入多字符命令的节奏很慢,它会在窗格的下方称为 “回显区"的地方给你提示。回显区位于屏幕的最下面一行
状态栏 Mode Line #
位于回显区正上方的一行被称为 ”状态栏“。状态栏显示了 Emacs 的状态和你正在编辑的文字的一些信息。
N%显示的是光标在全文中的位置,如果位于文件的开头,那么就显示Top, 如果是文件末尾,显示Bot, 如果文件很小,一屏足以显示全部内容,那么状态栏显示AllL和其后的数字给出了光标所在行的行号- 最开头的
*表示你已经对文字做过修改。刚刚打开的文件肯定没有被改动过,所以状态栏上显示的不是星号而是短线- - 状态栏上小括号里的内容告诉你当前正在使用的编辑模式。缺省的模式是
Fundamental它是一种”主模式“- 主模式都是可以用
M-x启动的扩展命令,M-x fundamental-mode就可以切换到Fundamental模式 M-x text-mode切换到编辑自然语言文本M-x auto-fill-mode启动自动折行模式
- 主模式都是可以用
搜索 Searching #
Emacs 的搜索命令是 “渐进的(incremental)",意思是搜索与输入同时进行。
C-s向前搜索,找到要搜索的时候再按一次C-s搜索到下一个搜到的位置C-r向后搜索,找到要搜索的时候再按一次C-r搜索到下一个搜索的位置
获取帮助 #
Emacs 提供了一些命令来查看 Emacs 的命令文档,这些命令都是以 Control-h开头,这个字符也因此被称为 “帮助”(help)字符。
最基本的帮助功能是 C-h c 。输入 C-h c 之后再输入一个组合键, Emacs 会给出这个命令的简要说明。
C-h c C-p表示输入C-h c之后再输入C-p组合键,Emacs会给出这个命令的简要说明。 查看更多的信息把C-h c换成C-h kC-h k C-pC-h f previous-line解释一个函数C-h v显示Emacs变量的文档C-h a file这个命令会在另一个窗格里显示一个M-x命令列表,这个列表包含了所有名称中含有file的命令C-h i阅读手册