BBS水木清华站∶精华区
Ctrl-h 的用法
EMACS 除了自学教材可供参考外,它还提供了其它的线上辅助说明
功能,让使用者可以随时查阅需要的相关讯息。
EMACS 的线上辅助说明都是以 ``Ctrl-h'' 为开端,其种类
有以下二种:
* Ctrl-h
* Ctrl-h Ctrl-h
键入 Ctrl-h (help-command),萤幕的最下端会出现
如下的讯息:
C-h(Type ? for further options)-
此时的 ``Ctrl-h'' 只是用做前置字(prefix key),它是用来等候
使用者输入其它的指令。若输入 ``?'',则萤幕的下方会出现所有
可使用的选择,使用者可根据需要来选择合适的选项。
若键入两次的 ``Ctrl-h''Ctrl-h (felp-for-help),萤幕下方
会出现:
type one of the options listed or Space to scroll
此时 EMACS 会另外开启一个视窗,将所有与求助的选项都列出来,
且会做一简要的说明,要卷动此视窗则键入 Space。此新开启的
视窗共有二十一个选项,包括:
a b c f C-f i k C-k l m n p s t v w C-c C-d C-n C-p C-w.
使用这二十一个选择项的方法非常简单,只要在 ``Ctrl-h'' 之後
输入任一个选择就可以了。例如,要选择 ``a'' ,则执行 ``Ctrl-h a''
即可。
现在将 EMACS 常用的线上辅助说明一一作解释。EMACS 常用的
线上辅助说明有:
* Ctrl-h c
* Ctrl-h k
* Ctrl-h w
* Ctrl-h a
* Ctrl-h v
* Ctrl-h i
``Ctrl-h c'' 与 ``Ctrl-h k'' 的功能相似, 二者都是在寻求与 Hotkey
有关的讯息。二者唯一的差别,就在於对指令的解释详细与否而已。
`` Ctrl-h c'' 是简述与 Hotkey 连结的命令,而 ``Ctrl-h k''则详述连结
Hotkey 的命令。二者都有一个前题的预设,那就是都是先知道
Hotkey 为何,而想进一步知道此 Hotkey 所使用命令的名称。今举
``Ctrl-x Ctrl-c'' 的例子来说明二者的差别。
键入 ``Ctrl-h c RET''
(RET,亦即键盘上的 Enter 键。任何一个指令输入完毕时,必需
紧跟著一个 Enter。此作用是用以告知系统,指令输入已经结束,
可以开始执行相关的动作了。)
则萤幕下方会出现
Describe key briefly: -
在 ``:'' 的後面键入 ``Ctrl-x Ctrl-c'',则在原先出现
Describe key briefly: -
的地方则出现
C-x C-c runs the command save-buffers-kill-emacs''
键入 ``Ctrl-h k RET'',则萤幕下方出现
Describe key: -
在 ``:'' 的後面键入 ``Ctrl-x Ctrl-c'',则 EMACS 会另以一个
视窗显示如下的讯息:
save-buffers-kill-emacs:
Offer to save each buffer, then kill this emacs process.
With prefix arg, silently save all file-visiting buffers, then kill.
此讯息的第一行是 Hotkey 所连结命令的全名,以後的行数则是
对此命令的详细说明。
`` Ctrl-h w''w (where-is) 的用法与 `` Ctrl-h c'' 和 `` Ctrl-h k'' 正好相反。
`` Ctrl-h w'' 是在知道EMACS 的命令而欲知是否有相对应的 Hotkey
时所使用的。例如键入 ``Ctrl-h w'',萤幕的下方会出现
where is command:
在 ``:'' 之後键入 ``save-buffers-kill-emacs'',则在原处会出现
save-buffers-kill-emacs is on C-x C-c
所以想知道命令是否有相对应的 Hotkey,可以此方法查知。
``Ctrl-h w'' 可以使用 EMACS 的 completion ,但其最大的
不便处,就是必需给予指令的第一个字元。如 ``save-buffers-kill-emacs'',
必需先给予以 s 开头的子字串,才能逐步使用 EMACS 的
completion 。若不键入 s 开头的子串,而键入 s 之後的
任何字串,则无法找到相对应的指令,所以使用 ``Ctrl-h w''
必需要记著指令的第一个字。除此之外, EMACS 的线上辅助说明
还提供了另一种帮助,可让使用者键入任意的子字串,都可以找到
相对应的指令,那就是
`` Ctrl-h a''。
键入 ``Ctrl-h a'' 则萤幕的下方会出现
command-apropos (regexp):
此时只要给予与命令相关的任一子字串或
`` regular expression''
6.3 节会讨论何谓 regular expression)再按下 RET, EMACS
会另开一个视窗,将所有涵盖此子字串或 regular expression
的指令全列出来。
此指令与 `` Ctrl-h w'' 最大不同处如下:
1. 使用 `` Ctrl-h a'' 所键入的子字串,并不限於指令的第一个字元,
而 `` Ctrl-h w'' 则必需以指令的第一个字为起始字。 使用
`` Ctrl-h a'',可给予指令中任何位置的子字串。
2. `` Ctrl-h a'' 无法使用 completion,而
`` Ctrl-h w'' 可使用 completion。
`` Ctrl-h a'' 主要的目的是当使用者无法正确的键入指令的
第一个字元时,可以借此将所有包含使用者记得的部份子字串
的指令都列举出来。
EMACS 除了以上几个常用的线上辅助说明之外,
还有一个非常实用的资料查阅中心,那就是 `` Ctrl-h i''。
`` Ctrl-h i'' 执行 ``Info program'' ,它主要是用来浏□已建构成
树状结构的文件档案。目前所有与 EMACS 有关的文件档案都可
透过 Info 来阅览,最终所有与 GNU 有关的文件资料,将可以由此
而窥得其文件档案全貌。
使用 info 模式(info mode)的方法很简单,只要键入 ``Ctrl-h i''
就可查阅所有与 EMACS 相关的文件资料。进入了 info 之後要如何
有效的使用它呢?会在下一节详细讨论。
以上所谈的,就是较常使用的线上辅助说明种类。
若线上辅助说明的讯息,是以另一个视窗显示出来,此时的讯息
又无法一「幕」了然。想参考其它部份的资料,就必需卷动视窗。
视窗卷动的指令,可参考如下的方法:
* Ctrl-x 1 (delete-other-windows)
(本文所有与 Hotkey 相对应的指令都放於括号中。
保留游标所在的视窗,而将其它的视窗关闭。
* Ctrl-x o (other-window)
可使游标在不同的视窗间切换。换言之,如果游标在工作的视窗,
可以此指令将游标移出显示线上辅助说明讯息的视窗,反之亦然。
* Ctrl-v (scroll-up)
将萤幕向上卷,如此则可看清萤幕下方的讯息。
* Meta-v (scroll-down)
萤幕向下卷,如此可以重复参考已经看过的资料。
BBS水木清华站∶精华区