emacs的简易命令笔记

C 通常用C来表示CONTROL键,例如 C-f 表示:按住CONTROL在输入 f。

M 通常用M来表示ALT键

退出 Emacs,请用 C-x C-c(两个连续的组合键)。

退出一个正在运行中的命令,请用 C-g

向下翻一页,C-v

向上翻一页,M-v

将光标所在行置于屏幕中央,C-l

                         上一行 C-p
                              :
                              :
        向左移 C-b .... 目前光标位置 .... 向右移 C-f
                              :
                              :
                         下一行 C-n

请注意 C-f 、C-b 和 M-f 、M-b 两对之间的类比关系。通常的惯例是
:META 系列组合键用来操作“由语言定义的单位
(比如词、句子、段落)”,而 CONTROL系列组合键用来操作
“与语言无关的基本单位(比如字符、行等等)”。

“P N B F”四个字母分别代表了四个词,用这四个词记忆这些组合键会更容易:
P 代表 previous(上一行),N 代表 next(下一行),B 代表 backward(回
退),而 F 则代表 forward(前进)

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

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

###总结一下:

    C-f     向右移动一个字符
    C-b     向左移动一个字符

    M-f     向右移动一个词【对中文是移动到下一个标点符号】
    M-b     向左移动一个词【对中文是移动到上一个标点符号】

    C-n     移动到下一行
    C-p     移动到上一行

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

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

M-<, 移到文本最开始的地方。

M->, 移到文本最末尾的地方。

C-u 8 C-f: 会向前移动 8 个字符(这里C-u配合前缀参数使用)

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

C-g 还可以取消数字参数和只输入到一半的命令。

把光标所在行作为首行: C-u 0 C-l。

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

有一系列命令是以 CONTROL-x 开始的,这些命令许多都跟“窗格、文件、缓冲区等等诸如此类的东西有关,其中有些命令可能包含了 2 个、3 个或者 4 个字符。

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

    M-<DEL>      移除光标前的一个词
    M-d          移除光标后的一个词

    C-k          移除从光标到“行尾”间的字符
    M-k          移除从光标到“句尾”间的字符

你也可以用一种通用的办法来移除缓冲区里的任何一部分:首先把光标移动到你
想要移除的区域的一端,然后按 C-(指空格)【注意,C- 往
往被中文用户设定成输入法热键,如果这样,C- 就被系统拦截而无法传递
给 Emacs 了,在这种情况下可以使用C-@。】,然后将光标移动到你准备移除的
文字的另一端。这个时候, Emacs 会高亮光标和你按下 C- 之间的文本。
最后,按下 C-w 。这样就可以把位于这两点之间的所有文字移除了。移除的字符是可以召回的。

召回的命令是 C-y。它会在光标所在处插入你最后移除的文字。

###撤销
如果你修改了一段文字,又觉得改得不好,可以用 undo 命令进行撤销:C-/。

通常 C-/ 会消除一个命令所造成的所有改变;如果你在一行中连续多次地使用
C-/,你会把以前的命令也依次撤销。

但是有两个例外:

  1. 没有改变文字的命令不算(包括光标移动命令和滚动命令)
  2. 从键盘输入的字符以组为单位――每组最多 20 个字符――来进行处理。
    (这是为了减少你在撤销“插入文字”动作时需要输入 C-/ 的次数)

C-_ 也是撤销命令;它的作用跟 C-/ 一样,但是它比较容易多次输入。在
某些终端上,输入 C-/ 实际上向 Emacs 发送的是 C-_ 。
另外, C-x u 和 C-/ 完全一样,但是按起来有些麻烦。

数字参数对于 C-/ 、 C-_ 和 C-x u 的意义是执行撤销的重复次数

###文件
寻找文件的命令有一个特点,那就是你必须给出文件名。我们称这个命令“读入
了一个参数”(在这里,这个参数显然就是文件名)。在你输入这条命令之后:

   C-x C-f   寻找一个文件
   C-x C-s   储存这个文件

你不但可以寻找一个已有的文件来查看或编辑,还可以寻找一个不存在的文件。
实际上这正是 Emacs 创建新文件的方法:找到不存在的新文件。事实上,只有
在存盘的时候,Emacs 才会真正创建这个文件。而在这之后的一切就跟编辑一个
已有文件没有区别了。
###缓冲区
Emacs 把每个编辑中的文件都放在一个称为“缓冲区(buffer)”的地方。每寻
找到一个文件,Emacs 就在其内部开辟一个缓冲区。用下面的命令可以列出当前
所有的缓冲区:

   C-x C-b   列出缓冲区
  • 例子,假设当前文件名为apple
  • 通过输入C-x C-f banana,创建了一个文件名为“banana”
  • 通过输入C-x b apple回到apple文件,你也可以用C-x C-b列出缓冲区

C-x s 保存多个缓冲区。
C-x s 会找出所有已被修改但尚未存盘的缓冲区,然后向你逐个询问:是否需要存盘
###命令集扩展(EXTENDING THE COMMAND SET)
C-x 字符扩展。 C-x 之后输入另一个字符或者组合键

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

例如C-x C-f, C-x C-C

C-z 可以暂时离开 Emacs――当然,你还可以再回来。在允许 C-z 的系统中,C-z
会把 Emacs“挂起”,也就是说,它会回到 shell但不杀死 Emacs 的进程。在常
用的 shell 中,通常可以用“fg”或者“%emacs”命令再次回到 Emacs 中。
###总结一些C-x的扩展命令:

  • C-x C-f 寻找文件。
  • C-x C-s 保存文件。
  • C-x C-b 列出缓冲区。
  • C-x C-c 退出 Emacs。
  • C-x l 关掉其他所有窗格,只留一个。
  • C-x u 撤销。

用命令名扩展的命令通常并不常用,或只用在部分模式下。比如
replace-string(字符串替换)这个命令,它会把一个字符串替换成另一个。在
输入 M-x 之后,Emacs 会在屏幕底端向你询问并等待你输入命令名。如果你想
输入“replace-string”,其实只需要敲“repl s”就行了,Emacs 会帮你自
动补齐。输入完之后按 提交
###自动保存
如果你已经修改了一个文件,但是还没来得及存盘你的计算机就罢工了,那么你
所做的修改就很可能会丢失。为了避免这样的不幸发生,Emacs 会定期将正在编
辑的文件写入一个“自动保存”文件中。自动保存文件的文件名的头尾各有一个
“#”字符,比如你正在编辑的文件叫“hello.c”,那么它的自动保存文件就叫
“#hello.c#”。这个文件会在正常存盘之后被 Emacs 删除。

所以,假如不幸真的发生了,你大可以从容地打开原来的文件(注意不是自动保
存文件)然后输入 M-x recover file 来恢复你的自动保存文件。在
提示确认的时候,输入 yes。
###回显区(ECHO AREA)
如果 Emacs 发现你输入多字符命令的节奏很慢,它会在窗格的下方称为“回显区”
的地方给你提示。回显区位于屏幕的最下面一行。
###状态栏(MODE LINE)
位于回显区正上方的一行被称为“状态栏”。状态栏上回显示一些信息。

用 M-x auto-fill-mode 启动自动折行模式。再用一次这条命令,自
动折行模式会被关闭。也就是说,如果自动折行模式没有被开启,这个命令会开
启它;如果已经开启了,这个命令会关闭它。所以我们说,这个命令可以用来
“开关(toggle)”模式。

如果你在段落的中间做了一些修改,那么自动折行模式不会替你把整个段落重新
折行,你需要用 M-q 手动折行。注意,光标必须位于你需要折行的那一段里。
###搜索(SEARCHING)

Emacs 的搜索命令是“渐进的(incremental)”。意思是搜索与输入同时进行:
你在键盘上一字一句地输入搜索词的过程中,Emacs 就已经开始替你搜索了。

在按下 C-s 之后,回显区里会有“I-search”字样出现,表明目前 Emacs 正处
于“渐进搜索”状态,并等待你输入搜索字串。按 可以结束搜索。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值