BBS水木清华站∶精华区
Emacs 的基本知识
在未讨论 EMACS 的线上辅助说明时,先谈谈如何启动 EMACS。
启动EMACS 的方法很简单,只要在萤幕的提示下键入 ``emacs''
即可;离开 EMACS, 只要键入``Ctrl-x Ctrl-c''即可离开 EMACS 。
键入 ``Ctrl-x Ctrl-c'' 的方法是,先按住键盘上的 Ctrl 键不放再按下
英文字的 ``x'' 即可。键入 ``Ctrl-c'' 的方法一样,先按住键盘上的
Ctrl 键不放再按下英文字的 ``c'' 即可。当然进入与离开 EMACS
的方法还有多种,这□只是介绍一种方法,让使用者可以很快的使用
EMACS 的线上辅助说明,至於其它的方法会在以下各章节中陆续提及。
除了进入与离开 EMACS 的方法必须知道外,还有一个指令非常用那就是
``Ctrl-g''。 ``Ctrl-g'' 可用来取消键入的指令,如果不想执行所键入
的指令,可以随时将其取消。
EMACS 键入指令的方法有二种:
* Ctrl 键
* Meta 键
所有 EMACS 的指令都可以 Meta 键表示出来,键盘上若无
Meta 键,则可以 ESC 键来取而代之。常用的 EMACS 指令通常
会有一个 Hotkey 与之连结。 Hotkey 的构成,通常是以 Ctrl 为
开头的型态出现。例如 ``Ctrl-x Ctrl-c'' 这一个 Hotkey,则代表了
EMACS 指令的 ``save-buffers-kill-emacs'' 。若要使用 Meta 键
来表达与 Ctrl-x Ctrl-c 相同的效果 ,则必须键入
``ESC-x save-buffers-kill-emacs''。
使用 Meta 键,可以利用
EMACS completion 的功能。因为 completion 可以让
使用者键入最少的字,就可使系统唤起所欲执行的命令。以下
就介绍 EMACS的 completion。
EMACS completion的意思是,只要键入字串的部份,
EMACS 会将其馀的部份自动填入其应在的位置。如果所给予的
字串不足以决定其馀的部份,EMACS 会将所有可能的结果都列出来,
以供使用者来决定所需要的字串名称。
completion 所适用的□围如下:
* 指令
* 特定目录下的档案
* 缓冲区
* EMACS 的变数
至於何谓特定目录下的档案、缓冲区以及 EMACS 的变数,会在
以後的章节中陆续谈及。此处讨论completion ,只是为了
使用 completion 於 EMACS 的线上辅助说明。
使用 EMACS 的 completion 有三种方法:
* TAB
尽可能将其馀的字串填满。
* SPACE
将 puncutation 字元之前的字填满,填充的字不会超过一个字以上。
* ?
将所有可能的 completions 选择都列出来。
使用completion 的做法是将部份字串键入後,再按下 TAB、
SPACE 或 ? 即可。例如,键入 ``M-x au TAB'' ,则萤幕的最
下方会出现 ``键入 TAB 则萤幕会在另一个视窗出现:
Possible completions are:
auto-fill-mode auto-lower-mode
auto-raise-mode auto-save-mode
若键入 ``M-x au SPACE'',则萤幕的最下方也会出现 ``M-x auto-''。
若键入 SPACE ,则萤幕的另一个视窗也会出现如下的命令:
Possible completions are:
auto-fill-mode auto-lower-mode
auto-raise-mode auto-save-mode
这似乎意味著 TAB 与 SPACE 的功能一样,其实不然,二者的差异
可从下一个例子看出。键入 ``M-x auto-f TAB'',可得
``M-x auto-fill-mode'';但键入 ``M-x auto-f SPACE'',只能得到
``M-x auto-fill-'' ,欲得到 ``M-x auto-fill-mode'',则必须再键入一次
SPACE。这就是前面所说的 ``SPACE'' 一次只填一个 ``puncutation''
之前的一个字的意思;而 TAB 则是尽可能的将所有可以判断出来的
字串呈现出来,其显示字串的长度并不以一个 ``puncutation'' 为限。
键入 ? 的作用,是在 EMACS 的另一个视窗上显示所有可能的字串,
此时使用者可根据视窗上的讯息键入适当的命令。例如键入 ``M-x au ?'' ,
萤幕上出现另一个视窗显示如下的资讯:
Possible completions are:
auto-fill-mode auto-lower-mode
auto-raise-mode auto-save-mode
键入 ``M-x au ?'' 的地方,则不会执行 completion 的动作,
这是 ? 与 TAB 、SPACE 最大不同的地方。
若视窗的内容太多无法一次穷尽,此时就必需卷动视窗。卷动视窗
可以用 ``Ctrl-v'' 与 ``Meta-v'' 二个指令来使视窗做上下的移动。
BBS水木清华站∶精华区