使用Emacs:帮助篇

当你打开emacs并认真阅读“快速指南”后,你已经知道用C-x C-f打开文件,用C-x C-s保存文件,用C-x C-c退出emacs,可以在emacs中生存了。这里把Tutorial.cn中出现的命令整理如下以便查看:

C-<chr>:Control键
M-<chr>:Meta(Alt)键
C-v:向下移一屏幕
M-v:向上移一屏幕
C-l:重新绘制,让光标所在行处于屏幕*
C-p:光标移到上一行(previous line)
C-n:光标移到上一行(next line)
C-b:向左移动一个字符(forward)
C-f:向左移动一个字符(backward)
M-b:向左移动一个词【对中文是移动到上一个标点符号】
M-f:向右移动一个词【对中文是移动到下一个标点符号】
C-a:移动到行首
C-e:移动到行首
M-a:移动到句首
M-e:移动到句首
M-<:移动到所有文字最开头
M->:移动到所有文字最结尾
C-u # cmd:执行#次cmd命令(大多数命令有效)
C-u # C-v:向下翻#行
C-g:取消执行到一半或不响应的命令 C-x 1:只保留当前窗格
C-x 0:关闭当前窗格
C-x 2:切割为等宽半高的两个窗格
C-x o:切换到另一个窗格
<Delback>表示实际中的Backspace键,删除光标前的一个字符
C-u 8 *:插入********
C-d:删除光标后的一个字符(这里的光标,是指闪烁的方块的左边)
M-<Delback>:删除光标前的一个词
M-d:移除光标后的一个词
C-k:移除从光标到行尾间的字符(不包括行尾的换行符号)
M-k:移除从光标到句尾间的字符(依然不包括行尾换行符)
删除和移除:移除的内容通过C-y召回(yank),所以C-y也是粘贴的命令
M-y:使用C-y后,再按M-y,可以召回前面几次移除的内容
C-x u:撤销(undo)
C-x C-f:打开或创建文件
C-x C-s:保存当前文件
C-x C-b:列出缓冲区
C-x s:保存多个缓冲区
C-z:挂起
回显区;状态栏;
M-x text-mode:切换到text-mode
C-h m:查看当前主模式的文档
C-s:搜索
C-h c C-p:查看C-p这条命令的基本信息
C-h k C-p:查看C-p这条命令的更多信息
C-h f 解释一个函数,需要输入函数名
C-h a 相关命令搜索

当你能熟练使用以上命令时,你对emacs的理解一定有所加深,至少可以向我一样,完成本文而决不使用鼠标。

进一步使用emacs,需要你使用它强大的帮助系统。快使用C-h C-h查看吧!
你看到的界面应该是这样子的:(图片)
其中'C-h k KEYS'用来查看某个按键序列的说明文档,例如C-h k C-h r,查找到的结果中的第一句"C-h r runs the command info-emacs-manual",表示它运行的是info-emacs-manual这条命令,你可以用M-x info-emacs-manual来执行它,个人认为这命令很强大。

另外一个是'C- h C-f',是阅读emacs的FAQ。FAQ包含了常见问题,值得一读。
在emacs中看FAQ其实看的是它的info。Linux中有man,help,info查看帮助的方式,help是简短帮助,man则是文本式的查看,有一定缺陷,例如查看bash的man页面又5000多行,又不能跳转到别的页面,而info则是为了弥补man的不足出现的,它使用树的结构,结点之间可互访也可以重和,使用方便。
以下是emacs24的FAQ的一段笔记,基本上是翻译了前两节和第三节的一部分:

************************************************************
*Emacs24--FAQ-中文翻译-(部分)
*Author:Haxtra
*Email:zchrissirhcz#gmail.com
************************************************************
1.FAQ记号

1.1基本按键:
C-x:按住Ctrl键不松开,然后按x键,然后全都松开
M-x:Meta键和x键同时按。许多键盘没有Meta键,请使用Alt键。当使用M-a时候需同时按Alt和a键,不过可以先按ESC后松开,再按a键。
C-M-x:同时按住Ctrl和Alt
S:Shift
<RET>:也写为<Return>,回车键。等同于C-m
<TAB>:Tab键。等同于C-i
<ESC>:等价于M,比如C-M-r等价于ESC C-r。等同于C-[
<SPC>:Space(空格键)
<DEL>:也写为<Delete>,等价于C-i,功能是撤销.注意,通常不是键盘上的DEL键,也不同于<Backspace>键。等同于C-?

1.2扩展命令
"M-x COMMAND"表示输入M-x,然后输入命令的名字,再按<RET>(回车键)
'M-x'(默认)调用“执行扩展命令”的命令。如果知道某一命令的名字,你就可以用M-x执行它。如果不知道命令的名字,可以通过输入<TAB>和<SPC>来补全,用<?>查看所有可能的结果,用'M-p'和'M-n'(或者向上键和向下键)来查看先前输入过的命令。一条Emacs命令就是一个交互式的Emacs函数。
你的系统管理员也许绑定了其他的按键,用来执行扩展命令。
如果想执行非交互式的Emacs函数,请看Evaluating Emacs Lisp code

1.3Emacs手册
当我们提到Emacs手册中的某Topic时,可以通过输入'C-h i m emacs <RET> m TOPIC <RET>'这条命令查看对应的node。这其实是调用Info,也就是GNU超文本文档浏览器。如果你不知道如何使用Info,在(终端中)输入info后输入<?>来查看吧!(也可以在Emacs中查看:C-h i)
当我们提到"TOPIC:SUBTOPIC"的时候,使用'C-h i m emacs <RET> m SUBTOPIC <RET>'来查看
如果上面的命令无法正常使用,那可能是因为你的系统管理员没有安装或没有正确安装info文档。

1.4文件名转化
Q:'src/conig.h','site-lisp/default.el'等文件是什么?
A:这些文件是和Emacs一起出现的。Emacs发行版包含几个子目录,例如'etc','lisp'和'src'。它们中的一些(比如'etc'和'lisp')安装好的Emacs中和源代码中都有出现,但另一些(比如'src')只在源代码中出现。
如果你使用Emacs但是不知道它们在你系统中的位置,那么打开Emacs,然后输入'C-h v data-directory <RET>',就可以获得安装的'etc'的完整路径。(这个完整的路径保存在data-directory变量中,'C-h v'命令则显示对应的值和变量的文档。)
你的info目录的位置(也就是存储info文档的地方)被保存在'Info-default-directory-list'中。用'C-h v Info-default-direcctory-list <RET>'命令可查看,它显示若干个目录的名字。最后一个目录应该是大多说info文档存储的位置。Emacs的Info文档默认放在'/usr/local/share/info'.
关于'etc'目录的更多内容,请看Inforational files for Emacs一节

1.5常见缩写
Q:什么是"FSF,LPF,GNU,RMS,FTP"和"GPL"?
A:
FSF:Free Software Foundation*软件协会
LPF:League for Programming Freedom
GNU:GNU's Not Unix
RMS:Richard Matthew Stallman
FTP:File Transfer Protocal
GPL:GNU General Public License
不要把FSF和LPF混淆。LPF反对look-and-feel版权和软件专利。FSF旨在尽可能为所有人创造高品质的*软件。
Free Software Foundation这一标题中的free一词,意思是*(freedom)而不是免费(zero cost)。任何人可以对GPL下的软件收取任意费用。但事实上,GPL提倡的*导致低价,因为你总可以从别人那里获得软件,而每个人都有权再次出售后者免费发放GPL下的软件。

2.常见问题

2.1LPF
LPF反对look-and-feel版权和软件专利。更多信息请查看LPF主页(http://progfree.org)

2.2copyleft的真正含义
Q:GNU copyleft的真正法律意义是什么?
A:
RMS写道:
比起GNU copyleft的法律意义,其精神更加重要:Emacs是一个*软件,属于Emacs的work也应当是*软件。“Free”意味着所有人都能够*地学习、分享、修改和改进Emacs。为了确保每个人都有这种*,请在传播源代码或者其发行版的同时,请把你所享受的*也传给他人。

2.3新闻组发布之引导路线
2.4新闻组目录
2.5报告bugs
2.6不赞成的Emacs列表
2.7联系FSF

3.获取帮助

3.1基本的编辑
Q:我刚开始学Emacs;怎样做基本的编辑?
A:输入'C-h t'以调用快速指南。从Emacs22开始,提供了多种语言版本的快速指南,例如法语、德语、日语、俄语等。使用'M-x help-with-tutorial-spec-language <RET>',可以选择相应语言版本的快速指南
你的系统管理员可能会把'C-h'映射为<DEL>操作,用于协调你的键盘。你可以使用'M-x help-for-help'寻求帮助.

3.2学习如何做点事
3.3获取打印的手册
3.4Emacs Lisp文档
3.5安装Texinfo文档
3.6打印Texinfo文件
3.7在Emcas之外查看Info文件
3.8Emcas信息化文件
3.9帮助安装Emacs
3.10获取FAQ

************************************************************
水平有限,先翻译到这里好了。当然前人的一份翻译也可参考:gnus-faq(王宇春译)

上一篇:【算法•日更•第三十二期】教你用出windows体验的Linux


下一篇:JSON序列化选项