天高任鸟飞 海阔凭鱼跃

……C++正在学习中……
posts - 28, comments - 0, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

GNU Emacs 命令列表

Posted on 2006-11-16 17:17 Jaunt 阅读(551) 评论(0)  编辑 收藏 引用 所属分类: Emacs
 Emacs 命令通常包含有 CONTROL 键(有时候以 CTRL 或 CTL 来标示)或是

META 键(有时候以 EDIT 或 ALT 来标示)。为了避免每一次都要写出其全名,
我们将会使用下述的缩写:

    C-<chr> 表示按住 CONTROL 键的同时键入字符 <chr> 。例如 C-f 就是:按
                   住 CONTROL 键再键入 f 。

    M-<chr> 表示按住 META 键再键入字符 <chr> 。 如果没有 META 键时,可以
                   用「按一下 ESC 键」来替代 META。我们以 <ESC> 来表示 ESC 键。


* SUMMARY
-----------------

        C-v           向前移动一个屏幕/窗格 = PageUp
        M-v           向后移动一个屏幕/窗格 = PageDn

        C-l            清除屏幕/窗格,再重新显示所有文字,
                         光标所在位置显示於屏幕/窗格的中央。
                        (是 CONTROL-L 而不是 CONTROL-1)

* BASIC CURSOR CONTROL
----------------------------------------

    META 用作与「以语言定义出的单位(字、句子、段落)」有关的操作
    CONTROL 用作「与您所编辑无关的『基本』单位(字符或行等)」上。

        C-f           往前移动一个字符
        C-b          往回移动一个字符

        M-f           往前移动一个字【中文是移动到下一个标点符号】
        M-b          往回移动一个字【中文是移动到上一个标点符号】

        C-n          移动到下一行(往下移)
        C-p          移动到上一行(往上移)

        C-a          移动到行首
        C-e          移动到行尾

        M-a          移回句首
        M-e          移到句尾

        M-<         (META Less-than),移动到文字的最开始,
        M->         (META Greater-than),移动到文字的最后。

    P 表示 previous
    N 表示 next
    B 表示 backward
    F 表示 forward

        C-u 数字参数其它命令
        M 数字参数其它命令
    大部份的 Emacs 命令接受数字参数;对大部份的命令而言,它的作用是指定重
    复次数。

        C-g         停止当前命令,或取消操作

* INSERTING AND DELETING
--------------------------------------

        <Return>                    carriage-return 
        C-u 重复数字符 重复输入N个字符


        <Delback>          删除光标 前一个字符
        C-d          删除光标 后一个字符

        M-<Delback>      删除光标 前一个字
        M-d          删除光标 后一个字

        C-k          删除从光标到「行尾」的字符
        M-k          删除从光标到「句尾」的字符

        C-@
        C-SPC        设置Mark Set(任一个即可)。

        C-w         杀掉选中文字(剪切)
        C-y          拉回(yanking)(粘贴)
        M-y          拉回上次、上上次……的内容

    「拉回(yanking)」:即“粘贴”
    「杀掉(killing)」:即“剪切”,可以yanking
    「删除(deleting)」:不能yanking

        C-x u
        C-/
        C-_          Undo

        C-x C-f        打开文件(visiting file,find file)
        C-x C-s       保存文件

注意:在某些系统中,键入 C-x C-s 将会把屏幕冻结,您将看不到从 Emacs 来
的任何输出。这表示操作系统一个称为「流程控制」的「功能」将 C-s 命令拦
截住,并且不让它传到 Emacs。要取消屏幕的冻结,请键入 C-q。然后到 Emacs
使用手册中看看对於「渐进式搜寻的同时进入(Spontaneous Entry to
Incremental Search)」这个主题,以取得处理这个「功能」的建议。


    Emacs 将每个文件的文字在「缓冲区(buffer)」中。
    打开一个文件会在 Emacs 内部建立一个缓冲区。

        C-x C-b      列出缓冲区
        C-x b          编辑某个缓冲区(要求输入缓冲区名)
        C-x s          询问是否要保存所有修改过的缓冲区。


* EXTENDING THE COMMAND SET
-----------------------------------------

        C-x            字符扩充。后面跟著一个字符。
        M-x            有名称的命令扩充。后面跟著一个长的名称。
                          键入 M-x 时,Emacs 会询问您命令的名称。

        C-z            是 *暂时* 退出 Emacs 的命令
        C-x C-c     退出

  其它 C-x 命令。

        C-x C-f          找文件。
        C-x C-s         储存文件。
        C-x C-b         列出缓冲区。
        C-x C-c         退出 Emacs。
        C-x 1             除了一个外,删去其它所有的窗格。
        C-x u             取消动作。

        M-x replace-string s<Return>changed<Return>altered<Return>

* AUTO SAVE
-----------------------

        M-x recover file<Return> 从自动保存文件中恢复


* MODE LINE
---------------------
  --:**  TUTORIAL.cn       (Fundamental)--L670--58%----------------

    -- 就是您找的文件。
    -NN%-- 有 NN 百分比的文字位在窗格的上面。
    如果文件的顶端就位在窗格中,那么它就会显示 --Top--
    如果文件的底部就位在窗格中,那么它是显示 --Bot--
    如果在窗格中足以看到全部的内容,那么状态行就会显示 --All--

    L 目前所在的行数(Line)。

  编辑模式

    如 Lisp 模式、 Text 模式,C/C++模式……

    主要(major)、次模式(minormode)
       次要的模式不是主模式的后选,而是次要的更改
       每个次模式可以自身启用或停止,和所有其它的次模式无关
       可以组合任何数量的次模式

      M-x fundamental-mode<Return>       Fundamental 模式
      M-x text mode<Return>                        Text模式

      M-x auto fill mode<Return>                 Auto Fill 模式(自动换行,即所谓的fill)
                                                                        Auto Fill 只在空白处断行。
      M-q                                                           Auto Fill re-fill
      C-x f                                                          Auto Fill 改变每行的长度(连界)
      C-u 2 0 C-x f                                            以 20 个字符,进行 fill

      C-h m                                                       列出所有模式

* SEARCHING
-------------------

Emacs 搜寻命令与大部分编辑器的搜寻命令不同的地方在於,它是「渐进的
(incremental)」。这表示搜寻发生在您键入想要搜寻的文字串后。

「I-search」:「渐进式搜寻」

      C-s 往前搜寻
      C-r 往回搜寻
      C-g  也可以用来结束搜寻。
      <Return> 结束搜寻。

* MULTIPLE WINDOWS
------------------------------

      C-u 0 C-l     移动光标到当前行
      C-u XXX C-l  移动到XXX行
      C-x 1         仅保留当前窗格(光标所在的窗格)
      C-x 2         水平拆分当前窗格
      C-x 3         垂直拆分当前窗格
      C-M-v         卷动下方的窗格。(键入 ESC C-v 亦可。)
      C-x o         (o是other的意思),将光标移动到下方的窗格。
      C-x 4 C-f     在新窗格中打开文件,并编辑之
      C-x 5 C-f     新启动一个的Emacs,在之中打开文件


* RECURSIVE EDITING LEVELS
------------------------------------------

有时候您会进入所谓的「递归编辑阶层」。它是由位在状态行的方括弧所指明,
并且包含住以小括弧来指明的模式名称。举例来说,您可能会看到
[(Fundamental)],而不是 (Fundamental)。

      <ESC> <ESC> <ESC>        全功能命令,退出递归编辑
   也可以用来关闭多余的窗格,并且退出小缓冲区。

* GETTING MORE HELP
-------------------------------------

   C-h                          查询需要帮助的字元
   C-h ?                      Emacs 将会告诉您它能够提供的帮助。
   M-x help    
          
   C-h c                      查看简要说明
   C-h k                      查看详细说明
   C-h f                       解释一个函数。您要键入此函数的名称。
   C-h f previous-line<Return>

   C-h v                    「您可以用来定制 Emacs 行为的变数」的文档。
   C-h a                     命令相关查找(Command Apropos)。
                                  键入一个关键字然后 Emacs 会列出所有「在其名称中含有此
                                  关键字」的全部命令。这些命令全部都可以经由 META-x 来启
                                  动。对於一些命令而言,命令相关查找也会列出「可以执行相
                                  同命令」的一个或两个字符的串列。

   C-h i                      阅读在线使用手册(a.k.a. Info)。
                                  这个命令将您带到了称为「*info*」的特殊缓冲区,在那,您
                                  可以阅读安装在您的系统里的软件包的在线使用手册。键入
                                  m emacs <Return> 以阅读 Emacs 使用手册。如果您在此之前
                                  未曾使用过 Info 系统,请键入『?』。 Emacs 将会带您进入
                                  Info 模式功能的导览指南。一旦完成了本快速指南的研读,
                                  您应该查阅 Emacs Info 使用手册,以作为主要的参考文档。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理