来源:
ChinaUnix博客 作者:
ChinaUnix博客 发布时间:2008-01-01 09:07:00


[@ Emacs 快速指南.(查看版权声明请至本文末尾)
重要提示:要退出 Emacs,请用 C-x C-c(两个连续的组合键)。
C-v 向前移动一屏
M-v 向后移动一屏
C-l 重绘屏幕,并将光标所在行置于屏幕的中央
(注意是 CONTROL-L,不是 CONTROL-1)
基本的光标控制(BASIC CURSOR CONTROL)
--------------------------------------------------------------------------------
上一行 C-p
:
:
向左移 C-b .... 现在光标位置 .... 向右移 C-f
:
:
下一行 C-n
“P N B F”四个字母分别代表了四个词,用这四个词记忆这些组合键会更容易: P 代表 previous(上一行),N 代表 next(下一行),B 代表 backward(回退),而 F 则代表 forward(前进)。这些组合键今后将和您形影不离。
M-f (META-f) 能够将光标往前移动一个词,而 M-b 则是往后移。
通常的惯例是:META 系列组合键用来操作“由语言定义的单位(比如词、句子、段落)”,而 CONTROL 系列组合键用来操作“和语言无关的基本单位(比如字符、行等等)”。
C-a 和 C-e 能够将光标移动到 “一行”的头部和尾部;而 M-a 和 M-e 则将光标移动到“一句”的头部和尾部。
光标停留的位置也能够称作“点位”(point)。或干脆说,光标指示出了屏幕上“点位”在文本中的位置。
这里对简单的光标移动命令做一个总结,其中也包括了整词和整句的移动:
C-f 向右移动一个字符
C-b 向左移动一个字符
M-f 向右移动一个词【中文是移动到下一个标点符号】
M-b 向左移动一个词【中文是移动到上一个标点符号】
C-n 移动到下一行
C-p 移动到上一行
C-a 移动到行首
C-e 移动到行尾
M-a 移动到句首
M-e 移动到句尾
M- (META 大于号)能够将光标移动到任何文字的最末尾。
注意,在大部分键盘上,小于号(> 试试 C-u 8 *,这将会插入 ********。
删除光标前的一个字符
C-d 删除光标后的一个字符
M- 移除光标前的一个词
M-d 移除光标后的一个词
C-k 移除从光标到“行尾”间的字符
M-k 移除从光标到“句尾”间的字符
>> 移动光标到上一段开头的“您”字。 >> 输入 C-@ 。Emacs 应该会在屏幕的下方显示一个“Mark set”的消息。 >> 移动光标到第二行中的“端”字。 >> 输入 C-w,就会把从“您”开始到“端”之前的文字全部移除。
召回的命令是 C-y。他会在光标所在处插入您最后移除的文字。
假如您一次连按了好几下 C-k,那么任何被移除的行会被存储在一起,只要一个 C-y 就能够把他们都召回。
在用C-y 召回最近移除的文字之后,紧接着再用 M-y 就能够召回再前一次被移除的文字,再按一次 M-y 又能够召回再上一次的,因此只要多按几次 M-y 就能够找到您想要召回的东西了。找到了之后,您什么也不用做,把他们晾在那里,继续您的编辑就行了。
撤销(UNDO)
--------------------------------------------------------------------------------
假如您修改了一段文字,又觉得改得不好,能够用 undo 命令进行撤销: C-x u。
C-_ 也是撤销命令;他的作用跟 C-x u 相同,但是他比较容易多次输入。C-_ 的缺点是在某些键盘上可能不太容易按,这也正是我们同时提供 C-x u 的原因。在某些终端上,您能够按住 CONTROL 再按“/”来输入 C-_。
文档(FILE)
--------------------------------------------------------------------------------
C-x C-f 寻找一个文档
在小缓冲里输入文档名(其实输入别的东西也相同)时能够用 C-g 取消。
C-x C-s 储存这个文档
缓冲区(BUFFER)
--------------------------------------------------------------------------------
假如您用 C-x C-f 找到第二个文档,第一个文档仍然会在 Emacs 里。要切回第一个文档,您能够 C-x C-f 再次寻找他。这样,您能够在 Emacs 里同时打开很多文档。
>> 用 C-x C-f foo 的方式建立一个名为“foo”的文档。
C-x C-b 列出缓冲区
>> 现在就试一下 C-x C-b
>> 输入 C-x 1 离开缓冲区列表
>> 输入 C-x b foo 以回到文档“foo”的缓冲区。
然后输入 C-x b TUTORIAL.cn 回到这里。
C-x s 保存多个缓冲区
C-x s 会找到任何已被修改但尚未存盘的缓冲区,然后向您逐个询问,是否需要存盘?
命令集扩展(EXTENDING THE COMMAND SET)
--------------------------------------------------------------------------------
Emacs 的命令就像天上的星星,数也数不清。把他们都对应到 CONTROL 和 META 组合键上显然是不可能的事情。Emacs 用扩展(eXtend)命令来解决这个问题,扩展命令有两种风格:
C-x 字符扩展。 C-x 之后输入另一个字符或组合键。
M-x 命令名扩展。M-x 之后输入一个命令名。
很多扩展命令都很有用,虽然和您已学过的命令比起来,他们可能不那么常用。您应该已见过一些扩展命令了,比如用 C-x C-f 寻找文档和用 C-x C-s 保存文档。退出 Emacs 用的 C-x C-c 也是扩展命令。(不用担心退出 Emacs 会给您带来什么损失,Emacs 会在退出之前提醒您保存文档的)
在控制台下,C-z 能够暂时离开 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 撤销。
用命令名扩展的命令一般都不太常用,或只在部分模式下被用到。比如 replace-string(字符串替换)这个命令,他会在全文范围内把一个字符串替换成另一个。在您输入 M-x 的时候,Emacs 会在屏幕底端向您询问,然后您应该输入命令名。假如您想输入“replace-string”,其实只需要敲“repl s”就行了,Emacs 会帮您自动补齐的。输入完之后按 。
字符串替换命令需要两个参数??被替换的字符串和用来替换他的字符串。每个参数的输入用换行符来结束。
>> 将光标移到本行的下两行空白,然后输入
M-x repl schangedaltered。
【为了继续练习,保留一行原文如下:
Notice how this line has changed: you’ve replaced... 】
请注意这一行是怎么改变的:在光标之后的范围内,您已将“changed”这个词??不管他在哪里出现??全部用“altered”替换掉了。
自动保存(AUTO SAVE)
--------------------------------------------------------------------------------
假如您修改了一个文档但是还没来得及存盘,然后您的电脑罢工了,那么您编辑的东西很可能就找不回来了。为了避免这样的不幸一再发生,Emacs 会定期将您正在编辑的文档存入一个“自动保存”文档中。自动保存的文档名的头尾各有一个“#”字符,比如您正在编辑“hello.c”,那么他的自动保存文档就叫 “#hello.c#”。在您正常存盘之后,Emacs 会删除自动保存文档。
假如不幸真的发生了,您大能够从容的打开原来的文档(注意不是自动保存文档)然后输入 M-x recover file 来恢复您的自动保存文档。在提示确认的时候,输入 yes 就行了。
回显区(ECHO AREA)
--------------------------------------------------------------------------------
假如 Emacs 发现您输入多字符命令的节奏很慢,他会在窗格的下方称为“回显区” 的地方给您提示。回显区位于屏幕的最后一行。
状态栏(MODE LINE)
--------------------------------------------------------------------------------
状态栏显示了 Emacs 的状态和您正在编辑的文字的一些信息。
>> 输入 M-x text mode。
别害怕,没有什么命令会改变功能。但是您能够发现,M-f 和 M-b 现在把单引号(’)视为词的一部分了。而在先前,在 Fundamental 模式中,M-f 和 M-b 都将单引号视为分隔单词的符号。
>> 用 C-u C-v 将本行带到靠近屏幕的上方。 >> 输入 C-h m,看看 Text 模式和 Fundamental 模式有哪些不同。 >> 输入 C-x 1 关掉文档窗格。
用 M-x auto fill mode 启动自动折行模式。启动之后,假如我们再用一次 M-x auto fill mode,自动折行模式就被关闭了。也就是说,假如自动折行模式没有开启,这个命令会开启他;而假如已开启了,这个命令会关闭他。我们说这个命令用来“开关(toggle)”模式。 必须敲一些空格,因为 Auto Fill 只在空白处进行断行。
行边界通常被设定为 70 个字符【这里指英文字符】,您能够用 C-x f 命令来重新设定之。指定新行边界能够用数字参数来进行传递。
>> 输入 C-x f 并传递参数 20: C-u 2 0 C-x f。
然后输入一些文字,观察 Emacs 的自动折行动作
最后再用 C-x f 将边界设回 70。
假如您在段落的中间做了一些修改,那么自动折行模式不会替您把整个段落重新折行。重新自动折行用 M-q,注意使用的时候光标必须位于您想折行的那一段里。
>> 移动光标到前一段中,然后输入 M-q。
搜索(SEARCHING)
--------------------------------------------------------------------------------
C-s 是向前搜索,C-r 是向后搜索。但是手别这么快!先等等别着急试。
在您按下 C-s 之后,您会发现回显区里有“I-search”字样出现,这是在提示您现在 Emacs 正处于“渐进搜索”状态,正在等待您输入搜索字串。 会结束搜索。
本文来自ChinaUnix博客,假如查看原文请点:http://blog.chinaunix.net/u1/45066/showart_460729.html
|
还没有关于此文章的相关评论!