一 基本文件操作

 

表 1. 常用的缺省 Emacs 按键前缀

按键前缀

描述

C-c

当前编辑模式特有的命令

C-x

文件和缓冲区命令

C-h

帮助命令

M-x

函数名称

 

 

表 2. 常用的 Emacs 缓冲区和文件函数

绑定

函数名

描述

C-x C-s

save-buffer

将当前的缓冲区保存到磁盘。

C-x s

save-some-buffers

要求将所有未保存的缓冲区保存到磁盘。

C-x C-c

save-buffers-kill-emacs

要求将所有未保存的缓冲区保存到磁盘,并退出 Emacs。

C-x C-z

suspend-emacs

挂起 Emacs 并使之成为一个后台进程。

C-x C-b

list-buffers

列出所有缓冲区。

C-x k

kill-buffer

杀死一个缓冲区(缺省情况下为当前的缓冲区)。

C-x C-q

vc-toggle-read-only

切换当前缓冲区的可读状态(如果适用还可以执行版本控制)。

C-x i

insert-file

插入点插入某个文件的内容。

 

表 3. 有用的 Emacs 键盘输入(用于移动和导航)

键盘输入

函数

描述

C-p,

UpArrow

previous-line

将插入点向上移动到上一行。

C-n, DownArrow

next-line

将插入点向下移动到下一行。

C-f, RightArrow

forward-char

将插入点移动到下一个字符。

C-b, LeftArrow

back-char

将插入点移动到上一个字符。

M-f

forward-word

将插入点移动到下一个单词。

M-b

backward-word

将插入点移动到上一个单词。

C-v, PgDn

scroll-up

将文本向上滚动一屏。

M-v, PgUp

scroll-down

将文本向下滚动一屏。

Home

beginning-of-buffer

将插入点移到缓冲区的开始处。(在某些版本中,这个键被缺省定义为移动到当前行的开始处。)

End

end-of-buffer

将插入点移到缓冲区的末尾。(在某些版本中,这个键被缺省定义为移动到当前行的末尾。)

C-a

beginning-of-line

将插入点移到本行的开始处。

C-e

end-of-line

将插入点移到本行的结尾。

M-a

beginning-of-sentence

将插入点移到句子的开始处。

M-e

end-of-sentence

将插入点移到句子的结尾处。

C-{

beginning-of-paragraph

将插入点移到段落的开始处。

C-}

end-of-paragraph

将插入点移到段落的结尾处。

 

表 4. 常用 Emacs 编辑命令

键盘输入

函数

描述

Ins

overwrite-mode

切换改写模式(缺省为关闭)。

Backspace

Del

delete-backward-char

删除插入点前的字符。

C-d

delete-char

删除插入点处的字符。

M-d

kill-word

从插入点开始向前删除字符,直到单词末尾。

M-Backspace,

M-Del

backward-kill-word

从插入点开始向回删除字符,直至单词的开始处。

C-_

undo

撤消您的上一次键入或操作

C-q 字符XXX

quoted-insert

在插入点插入按键本身代表的字符或由八进制数字(XXX)表示的字符。

C-u 次数 命令

universal-argument

按总的次数(缺省为 4 次)连续执行命令

 

 

列出缓冲区:C-x C-b

切换缓冲区:C-x b

 

 

二 帮助信息

1 Emacs 为您可以在其中键入的每个键盘输入提供了相关的文档说明,并且 Emacs 可以采用一些不同的方式向您说明特定键盘输入的功能。

其中的第一种方式、也是最快的一种方式,是使用 describe-key-briefly 函数,该函数允许您输入一个键盘输入,然后在迷你缓冲区中告诉您该键盘输入所执行的函数的名称。它与C-h c 进行了绑定。


C-h c C-x C-c C-h c C-h l C-h c C-h c


对于某个特定的键盘输入,您还可以获得一些更详细的信息。describe-key 函数(与 C-h k 进行了绑定),可以提供关于一个按键或者键盘输入的更多信息,并在帮助窗口中打开一个新的帮助缓冲区,并对其用途进行描述。尝试针对一个字母按键运行这个操作:

C-h
C-h
C-x C-h
C-h

 

您在 Emacs 中最后键入的 100 个键盘输入称为 Lossage。要查看这些内容,可以运行 view-lossage 函数。它与C-h l 键盘输入进行了绑定。

Emacs 键盘输入帮助命令汇总

表 1 列出了可用于获得键盘输入帮助的各种 Emacs 命令,给出了它们的函数名(如果适用的话),并描述了它们的用途。

表 1. Emacs 键盘输入帮助命令汇总

键盘输入

函数

描述

Tab

如果给出了某个命令的一部分,那么这个命令将执行命令完成功能,显示给定命令的所有可能的输入值。

command prefix 或者 keystroke C-h

这个命令用于描述给定命令前缀 或者键盘输入 的所有可能的命令和函数。

C-h c keystroke

describe-key-briefly

这个命令将在迷你缓冲区中报告与给定键盘输入 进行了绑定的函数名称。

C-h k keystroke

describe-key

这个命令将打开新的帮助缓冲区窗口,其中描述了与给定键盘输入 进行了绑定的函数。

C-h l

view-lossage

这个命令将打开新的缓冲区,并显示最后键入的 100 个字符。

open-dribble-file

这个命令将打开指定的文件,并将所有键盘输入的副本记录到该文件。

3 获得关于 Emacs 命令和函数的帮助


apropos

对于一个给定的正则表达式,这个命令将给出 apropos 命令和变量的列表。

C-h a regexp

command-apropos

对于给定的正则表达式,这个命令将给出 apropos 命令的列表。

C-h b

describe-bindings

这个命令将在一个新的帮助缓冲区窗口中描述当前主要模式的所有有效的键绑定。

C-h f function

describe-function

这个命令将在一个新的帮助缓冲区窗口中描述给定函数 的用途。

C-h v variable

describe-variable

这个命令将在一个新的帮助缓冲区窗口中描述给定变量 的用途。

C-h w function

where-is

这个命令将描述某个特定函数所绑定到的键盘输入(如果有的话)。



 如果文件被外部程序修改,使用命令revert-bufferrevert-buffer-with-coding-system可以重新load这个文件