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水木清华站∶精华区