Emacs 初学记录


下面内容摘自[Emacs 快速指南]
*************************
Emacs 键盘通常包括Control 键和Meta 键盘,为了避免每次写出全名,使用下面方法缩写:

C-:表示当输入时按住Ctrl 键;
M-:表示当输入时按住Meta(或edit 或 Alt)键

退出Emacs,使用 C-x C-c(两个连续的组合键)
*************************
翻页浏览:

C-v 向前移动一屏
M-v 向后移动一屏
C-l 重绘屏幕,并将光标所在行置于屏幕中央

滚屏也可以使用 PageUp 和PageDn 两键完成操作

基本光标控制:
上一行:C-p
下一行:C-n
左移动:C-b
右移动:C-f

上面的P、N、B、F代表了四个单词:Previous\Next\Backward\Forward

对比C-f、C-b和M-f、M-b 两对之间的类比关系,可知:Meta 系列组合键用来操作“由语言定义的单位,如词、句子、段落等”,Control 系列组合键用来操作与语言无关的基本单位,如字符、行等。

因此,可以这样描述上面的操作:

  • C-f 向右移动一个字符
  • C-b 向左移动一个字符
  • M-f 向右移动一个词,对中文是移动到下一个标点符号
  • M-b 向左移动一个词,对中文是移动到上一个标点符号
  • C-n 移动到下一行
  • C-p 移动到上一行
  • C-a 移动到行首
  • C-e 移动到行尾
  • M-a 移动到句首
  • M-e 移动到句尾
  • M-(Meta 大于号),移动到所有文字最末尾

    大部分Emacs 接受数字参数,为一个命令指定数字参数(也就是重复次数)的方法是:先输入C-u,然后输入数字作为参数,最后输入命令。
    EG:C-u 8 C-f 表示向前移动8个字符

    *************************
    上面的一行,就是我使用命令C-u 5 * 画出的,令我这个普通青年眼前一亮!

    在Emacs 失去响应的时候,使用C-g 终止正在进行的命令。如果不小心按了Esc 一下,也可以使用C-g 取消它。

    窗格:Emacs 可以有多个窗格,每个窗格显示不同的文字。

    C-x 1 只保留一个窗格,关闭其他所有的窗格
    (C-x 1,先按下Ctrl-x,然后按 1)

    *************************
    插入与删除

    插入,就是直接敲键盘,按下回车插入一个换行符

    使用Backspace,删除位于光标前的一个字符;

    如果一行文字过长,超出了窗格的宽度,显示不下的部分会在紧邻的下一行继续显示,这时会有一个反斜线表示接续显示;

    小结:

  • Delback 删除光标前的一个字符
  • C-d 删除光标后的一个字符
  • M-Delback 移除光标前的一个词
  • M-d 移除光标后的一个词
  • C-k 移除从光标到“行尾”的字符
  • M-k 移除从光标到“句尾”的字符

    清除大段文字:将光标移动到一段开头处,输入C-@,此时Emacs 屏幕下方显示“Mark set”的消息,然后将光标移动到你删除的文字最末尾处,输入C-w,此时中间大段文字就会被删除!

    恢复删除的文字:按下C-y,则会恢复刚才删除的文字,继续按C-y ,则不断复制刚才的文字,复制、复制、复制、复制……没有尽头!爽歪歪!

    使用M-y 可以召回最近移除的文字。

    *************************
    undo 撤销命令: C-x u
    *************************
    文件

    C-x C-f:寻找文件,输入文件名称结束后回车查找,可以使用C-g 取消

    C-x C-s:存储文件,指南告诉我们,记得常存盘哟~

    *************************
    缓冲区

    C-x C-f bentutu 回车,这是建立一个名为bentutu的文件;

    Emacs 把每个编辑器中的文件都放在一个称之为“缓冲区”的地方;

    C-x C-b 列出缓冲区

    C-x s 保存多个缓冲区

    *************************
    命令集扩展

    Emacs 的命令就像天上的星星,数也数不清,哈哈。据深度勇哥言,他的Emacs 有1000多个命令,现在用起来基本都成条件反射了。

    Emacs 的扩展命令有2种风格:
    C-x:字符扩展,C-x 之后输入另一个字符或者组合键;
    M-x:命令名扩展,M-x 输入一个命令名。

    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 撤销。

    在控制台下,C-z 可以暂时离开Emacs 一会儿。

    用命令名扩展的命令通常不常用,或只用在部分模式下,如replace-string(字符替换命令):按下M-x 后,Emacs 会在屏幕低端咨询等待输入的命令,输入repl s Tab键自动补全,输入之后回车即可。

    *************************
    搜索

    C-s 是向前搜索,C-r 向后搜索;

    按下C-s 之后,回显区会有“I-search”的字样出现,可用C-g 终止搜索;
    *************************
    多窗格

    C-x 2,将屏幕划分成两个窗格;
    C-M-v,滚动下方的窗口,向上滚动是C-M-S-v,S 是Shift 键;
    C-x 1,只显示一个窗格;
    C-x o,o 指other,将光标转移到下方的窗格;
    *************************
    帮助
    C-h c C-p,就是用来查询C-p 的信息
    C-h c ***,***是一个组合键,这样可以查询该命令的简要说明;
    C-h f :解释一个函数,后面接函数名;
    C-h a:相关命令搜索;

    还有其他好玩的:
    IDE:M-x gdb
    比较两个文件不同,且高亮显示:M-x ediff
    Emacs 可以当作文件管理器:M-x dired
    Emacs 阅读新闻、邮件和RSS:M-x gnus
    Emacs 可以玩游戏:M-x tetris,还有snake、Gonoku、Bubbles、Pong、Solitaire、Zone Out、5×5等。
    M-x shell:开启 Shell
    M-x calcaulator:简单的计算器
    M-x calendar:打开日历
    M-x phases-of-moon:查看月相
    M-x doctor: Emacs精神治疗医师,很逗这样看起来,真的很好玩啊,继续折腾中……

  • 相关内容