emacs笔记

本文详细介绍了如何启动 Emacs、使用快捷键进行基本光标控制、编辑文本、管理文件、操作缓冲区以及使用命令集扩展等功能,旨在帮助初学者快速掌握 Emacs 的核心操作。


第一部分:启动emacs

         直接在命令行输入emacs.

第一部分:emacs快捷键

说明:C代表CtrlM代表Alt

基本光标控制

C-v:向前移动一屏

M-v: 向后移动一屏

C-l: 重绘屏幕,并将光标置于屏幕中央

                            上一行 C-p

                                  :

                                  :

            向左移 C-b .... 目前光标位置 .... 向右移 C-f

                                  :

                                  :

                            下一行 C-n

 

M-f: 将光标移动到下一个标点符号(包括字母)

M-b: M-f相反,是往后移

【注:Alt用来操作“由语言定义的单位”(比如词、句子、段落),而Ctrl用来操作“与语言无关的基本单位”(比如字符、行等等)】

C-a C-e 可以将光标移动到一行的头部和尾部;

 M-a M-e 则将光标移动到一句的头部和尾部。

M-< META 小于号)可以将光标移动到所有文字的最开头;

M-> META 大于号)可以将光标移动到所有文字的最末尾。

C-u 8 C-f 会向前移动 8 个字符,其他类似。

如果 Emacs 对你的命令失去响应,你可以用 C-g 来安全地终止这条命令。C-g

也可以终止一条执行过久的命令。C-g 还可以取消数字参数和只输入到一半的命令。

取消<ESC> 的正确做法是再连按两次<ESC>

窗格

C-x 1   只保留一个窗格(也就是关掉其它所有窗格)。

C-u 0 C-l可以将光标所在行移到第一行。

插入与删除

       <Delback>    删除光标前的一个字符

        C-d          删除光标后的一个字符

 

       M-<Delback>  移除光标前的一个词

        M-d          移除光标后的一个词

 

        C-k          移除从光标到行尾间的字符

        M-k          移除从光标到句尾间的字符

 

删除指定的一段:首先把光标移动到你想要移除的区域的一端,然后按 C-@然后将光标移动到另一端,再按 C-w 就可以把位于这两点之间的所有文字移除了。

单独的 C-k(移除一行) 会把一行的内容移除,而第二个 C-k 则会移除换行符,并使

其后所有的行都向上移动。

召回的命令是 C-y。它会在光标所在处插入你最后移除的文字。如果你一次连按了好几下 C-k,那么所有被移除的行会被存储在一起,只要一个C-y 就可以把它们都召回。

在用 C-y 召回最近移除的文字之后,紧接着再按 M-y 就可以召回再前一次被移除的内容,再按一次 M-y 又可以召回再上一次的……

撤销

通常 C-x u 会消除一个命令所造成的所有改变;如果你在一行中连续多次地使用

C-x u,你会把以前的命令也依次撤销。

但是有两个例外:

1 没有改变文字的命令不算(包括光标移动命令和滚动命令)

2 从键盘输入的字符以组为单位――每组 20 个字符――来进行处理。

    (这是为了减少你在撤销插入文字动作时需要输入 C-x u 的次数)

 

文件

在你输入这条命令之后:

        C-x C-f   寻找一个文件

Emacs 会提示你输入文件名。你输入的文件名会出现在屏幕最底端的一行,这一

行被称为小缓冲(minibuffer),在小缓冲里你可以使用通常的 Emacs 编辑命令

来编辑文件名。

在小缓冲里输入文件名(其实输入其它东西也一样)时可以用 C-g 取消。

存盘用这条命令:C-xC-s   储存这个文件

关掉文件备份可以用如下命令:

  M-xcustomize-variable <Return> make-backup-files <Return>

寻找一个不存在的文件,是Emacs 创建新文件的方法

 

缓冲区

可以用 C-x C-f 找到并打开第二个文件,但第一个文件仍然在 Emacs 中。要

切回第一个文件,一种办法是再用一次 C-x C-f。这样,你就可以在 Emacs 中同

时打开多个文件。

用下面的命令可以列出当前

所有的缓冲区:C-xC-b   列出缓冲区输入 C-x 1 离开缓冲区列表

如果你想编辑其它的缓冲区,就必须切换过去。上面讲过,用

C-x C-f 是一种办法。不过还有一个更简单的办法,那就是用 C-x b。用这条命

令,你必须输入缓冲区的名称。

C-x s   保存多个缓冲区

 

命令集扩展

扩展命令有两种风格:

        C-x     字符扩展。  C-x 之后输入另一个字符或者组合键。

        M-x     命令名扩展。M-x 之后输入一个命令名。

退出 Emacs 用的 C-x C-c 也是扩展命令。

 

控制台下,C-z 可以暂时离开 Emacs在允许 C-z 的系统中,C-z 会把 Emacs“挂起,也就是说,它会回到 shell但不退出 Emacs。在常用的 shell 中,通常可以用“fg”或者“%emacs”命令再次回到 Emacs 中。在没有提供挂起功能的系统中,C-z 会在 Emacs 之下创建一个子 shell 来让你运行其它程序,通常用 shell 命令“exit”从子 shell 回到 Emacs

 

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 repl s<TAB>TAB会自动补齐replace-string<return>changed<return>altered<return>

 

自动保存

Emacs 会定期将正在编辑的文件写入一个自动保存文件中。自动保存文件的文件名的头尾各有一个“#”字符,比如你正在编辑的文件叫“hello.c”,那么它的自动保存文件就叫

“#hello.c#”。这个文件会在正常存盘之后被 Emacs 删除。

假如不幸真的发生了,你大可以从容地打开原来的文件(注意不是自动保

存文件)然后输入 M-xrecover file<Return> 来恢复你的自动保存文件。在提示确认的时候,输入yes<Return>

状态

Emacs 的主模式林林总总。有用来编辑程序代码的――比如 Lisp 模式;也有用

来编辑各种自然语言文本的――比如 Text 模式。任何情况下只能应用一个主模

式,其名称会显示在状态栏上,也就是现在显示“Fundamental”的地方。

主模式都是可以用 M-x 启动的扩展命令,M-x fundamental-mode 就可以切换到Fundamental模式。

C-h m 可以查看当前主模式的文档。

C-u C-v 将本行带到屏幕的最上方。

M-x autofill mode<Return> 启动自动折行模式。再用一次这条命令,自动折行模式会被关闭。

行边界通常被设定为 70 个字符【这里指英文字符】,你可以用 C-x f 命令配合

数字参数来重新设定它。例如:输入 C-x f 并传递参数 20 C-u 2 0 C-x f。【输入空格对英文来说是必须的,而对中文则不必。】

搜索

C-s 是向前搜索,C-r 是向后搜索。在整个过程中,都可以用 C-g 来终止搜索,回到原来光标位置

注意:在某些终端下,输入 C-x C-s 会冻结屏幕【屏幕没有任何输出】,使你看不到 Emacs 的任何变化。其原因是操作系统的流量控制功能拦截了 C-s 并冻结了屏幕。用 C-q 可以解除屏幕冻结。

另外,如果你在搜索的时候输入了 CONTROL 或者 META 组合键的话,搜索可能会结束。(也有例外,比如 C-s M-r 这些用于搜索的命令。)

 

多窗格

C-u 0 C-l可将光标所在行移到最上面。

输入 C-x 2,它会将屏幕划分成两个窗格。

C-M-v 滚动下方的窗格。向上滚动是 C-M-S-v,也就是同时按住 CONTROLMETA SHIFT 再按 v

C-x o“o”指的是其它(other),将光标转移到下方的窗格。再输入 C-x o 将光标移回到上方的窗格里。连续使用 C-x o 可以遍历所有窗格。

C-M-v 是很有用的命令。你可以始终处于编辑窗格中,然后用 C-M-v 命令滚动另外一个窗格。

(在上方窗格里)输入 C-x 1 关掉下方窗格。如果你在下方的窗格里输入 C-x 1,那么就会关掉上方的窗格。

 

递归编辑

比如在用 M-% 进行交互式替换的时候你又用了 C-s 进行搜索,这时替换模式并没有结束,但你又进入了搜索模式,这就是所谓的递归编辑。

离开递归编辑可以用 ESC ESCESC

 

获得更多帮助

Emacs 提供了一些命令来查看 Emacs 的命令文档,这些命令都以 CONTROL-h 开头,这个字符也因此被称为帮助(Help)字符可用C-g取消。

最基本的帮助功能是 C-h c。输入 C-h c 之后再输入一个组合键,Emacs 会给出这个命令的简要说明。C-hk 的命令会新打开一个 Emacs 窗格以显示函数的名称及其文档。

C-h f        解释一个函数。需要输入函数名。

C-h v 用来显示 Emacs 变量的文档。Emacs 变量可以被用来定制 Emacs 的行

。同样,你需要输入变量的名称。

C-h a        相关命令搜索(Command Apropos)。

                输入一个关键词然后 Emacs 会列出所有命令名中包含此关键词

                的命令。这些命令全都可以用 M-x 来启动。对于某些命令来说,

                相关命令搜索还会列出一两个组合键。

C-h i        阅读联机手册(也就是通常讲的 Info)。

                这个命令会打开一个称为“*info*”的特殊缓冲区,在那里,

                你可以阅读安装在系统里的软件包使用手册。要读 Emacs 的使

                用手册,按 m emacs <Return> 就可以了。如果你之前从没用

                Info 系统,那么请按“?”Emacs 会带你进入 Info 的使

                用指南。在看完本快速指南之后,Emacs Info 会成为你的主要

                参考文档。

 

总结

要退出 Emacs 请用 C-x C-c。要暂时切换到 shell 并且稍后再回到

Emacs 里来,请用 C-z。【切换到 shell 仅对控制台下的 Emacs 有效】

 

下面列出主要术语的译词对照,并给出注释说明:

 

    command               命令

    cursor                光标

    scrolling             滚动

    numericargument      数字参数

    window                窗格 [1]

    insert                插入

    delete                删除 [2]

    kill                  移除 [2]

    yank                  召回 [2]

    undo                  撤销

    file                  文件

    buffer                缓冲区

    minibuffer            小缓冲

    echo area             回显区

    mode line             状态栏

    search                搜索

    incrementalsearch    渐进式搜索 [3]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值