Mercurial > emacs
diff etc/TUTORIAL.cn @ 83548:c71725faff1a
Merged from emacs@sv.gnu.org. Last-minute emacsclient rewrites be damned!
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-490
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-491
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-492
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-493
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-494
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-495
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-496
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-497
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-498
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-499
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-500
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-501
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-502
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-503
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-504
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-505
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-506
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-507
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-508
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-509
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-510
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-511
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-512
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-513
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-514
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-515
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-516
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-517
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-518
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-519
Update from CVS: etc/TUTORIAL.cn: Updated.
* emacs@sv.gnu.org/emacs--devo--0--patch-520
Merge from erc--emacs--22
* emacs@sv.gnu.org/emacs--devo--0--patch-521
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-522
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-523
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-524
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-525
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-526
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-527
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-528
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-529
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-530
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-531
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-532
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-533
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-534
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-535
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-161
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-162
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-163
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-164
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-165
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-166
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-167
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-168
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-169
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-170
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-588
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sun, 03 Dec 2006 15:03:30 +0000 |
parents | 906eae8cd344 |
children | 0259a1711394 dbe3f29e61d6 |
line wrap: on
line diff
--- a/etc/TUTORIAL.cn Sun Dec 03 12:36:08 2006 +0000 +++ b/etc/TUTORIAL.cn Sun Dec 03 15:03:30 2006 +0000 @@ -17,7 +17,7 @@ 重要提示:要退出 Emacs,请用 C-x C-c(两个连续的组合键)。下文中左边顶 行的“>>”字样用来提示你尝试键盘命令。比如: <<Blank lines inserted around following line by help-with-tutorial>> -[本页当中特意留出一些空白是出于教学目的,请继续往后看] +[本页当中特意留出一些空白是出于教学目的,请继续往后阅读] >> 现在输入 C-v (查看下一屏文字)移动到下一屏。 (别紧张,在输入字符 v 的同时注意要按住 CONTROL 键) 从现在开始,每读完当前一屏你都需要这样做一次。 @@ -129,8 +129,8 @@ C-f 向右移动一个字符 C-b 向左移动一个字符 - M-f 向右移动一个词【中文是移动到下一个标点符号】 - M-b 向左移动一个词【中文是移动到上一个标点符号】 + M-f 向右移动一个词【对中文是移动到下一个标点符号】 + M-b 向左移动一个词【对中文是移动到上一个标点符号】 C-n 移动到下一行 C-p 移动到上一行 @@ -212,14 +212,14 @@ 如果你不小心按了一下 <ESC>,你也可以用 C-g 来取消它。 【这个说法似乎有问题,因为按照这个按键顺序输入的应该是 C-M-g。 - 取消<ESC> 的正确做法是再连按两次 <ESC>。】 + 取消 <ESC> 的正确做法是再连按两次 <ESC>。】 * 被禁用的命令(DISABLED COMMANDS) ----------------------------------- 有一些 Emacs 命令被“禁用”了,以避免初学者在不了解其确切功能的情况下误 -用它们,造成麻烦。 +用而造成麻烦。 如果你用到了一个被禁用的命令,Emacs 会显示一个提示消息,告诉你这个命令 到底是干什么的,询问你是否要继续,并在得到你的肯定之后再执行这命令。 @@ -234,10 +234,10 @@ * 窗格(WINDOWS) ----------------- -Emacs 可以有多个窗格,每个窗格都显示不同的文字。我们后面再介绍怎么对付 -多个窗格,现在先让我们先搞明白如何关掉多余的窗格。其实也很简单: +Emacs 可以有多个窗格,每个窗格显示不同的文字。后面会介绍怎么对付多个窗 +格,现在我们先学会如何关掉多余的窗格。其实也很简单: - C-x 1 只保留一个窗格(也就是关掉其他所有的窗格)。 + C-x 1 只保留一个窗格(也就是关掉其它所有窗格)。 也就是先按 CONTROL-x 然后再按 1。C-x 1 会保留光标所在的窗格,并将其扩大 到整个屏幕,同时关掉所有其它的窗格。 @@ -245,33 +245,34 @@ >> 把光标移到本行然后输入 C-u 0 C-l。 >> 输入 CONTROL-h k CONTROL-f。观察当一个新窗格出现时当前窗格(用来显示 - CONTROL-f 命令的文档)是如何变小的。 + CONTROL-f 命令的文档)是如何缩小的。 >> 输入 C-x 1 关掉文档窗格。 -这个命令跟先前学到的命令不太一样,因为它包含了两个字符,以 CONTROL-x 开 +这个命令跟先前学过的命令不太一样,因为它包含了两个字符,以 CONTROL-x 开 始。有一系列命令都是以 CONTROL-x 开始的,这些命令许多都跟“窗格、文件、 缓冲区【缓冲区(buffer)会在后文详细介绍】”等等诸如此类的东西有关,其 -中有些命令可能有 2 个、3 个或者 4 个字符长。 +中有些命令可能包含了 2 个、3 个或者 4 个字符。 * 插入与删除(INSERTING AND DELETING) -------------------------------------- -插入文字很简单,敲键盘就行了。你能看到的字符,比如 A、7、* 等等,都被 -Emacs 视为文字并且可以直接插入。敲 <Return>(回车键)会插入一个换行符。 +插入文字很简单,直接敲键盘就可以了。你能看到的字符,比如 A、7、* 等等, +都被 Emacs 视为文字并且可以直接插入。敲 <Return>(回车键)会插入一个换 +行符。 -你可以用 <Delback> 来删除最后输入的的一个字符,这个跟你在 Emacs 之外的 -用法应该一样。一般来说 <Delback> 就是位于 <Return> 键上方某处的一个大号 -键,通常被标示为“Delete”、“Del”或者“Backspace”。 +你可以用 <Delback> 来删除最后输入的一个字符,这个跟你在 Emacs 之外的用 +法应该一样。一般来说 <Delback> 就是位于 <Return> 键上方某处的一个大块头 +的键,通常被标示为“Delete”、“Del”或者“Backspace”。 -如果你找到了“Backspace”键,那么它应该就是 <Delback>;哪怕你又在别的地 -方找到了一个“Del”键,那么它也应该不是 <Delback>。 +如果你找到了“Backspace”键,那么它应该就是 <Delback>;这时哪怕你又在别 +的地方找到了一个“Del”键,那么它也应该不是 <Delback>。 一种更通用的说法是,<Delback> 将删除位于光标前的一个字符。 ->> 现在就试试——敲点字,然后按几下 <Delback> 删除它们。 - 不用担心你会修改文件,你干什么都没关系,这里就是专给你练习用的。 +>> 现在就来试试——敲点字,然后按几下 <Delback> 删除它们。 + 不用担心文件被修改,你做什么都没关系,这里就是专给你练习用的。 如果一行文字很长、超出了窗格的宽度,显示不下的部分会在紧邻的下一行继续 显示。这时会有一个反斜线(在控制台下是反斜线,如果你用图形窗口系统,则 @@ -281,7 +282,7 @@ >> 用 <Delback> 删掉一些文字,直到此行长度小于窗格宽度,接续行就消失了。 -换行符跟其他字符一样可以被删除。两行中间的换行符被删除后,这两行将会合 +换行符跟其它字符一样可以被删除。两行中间的换行符被删除后,这两行将会合 并成一行。如果合并后的这一行太长,超出了窗格宽度,它就会以一个接续行来 显示。 @@ -315,24 +316,24 @@ 和 M-k 的关系在某种程度上与 C-e 和 M-e 一样——如果把“一行”和“一句” 作一个类比的话。 -你也可以用一种统一的办法来移除缓冲区里的任何一部分:首先把光标移动到你 +你也可以用一种通用的办法来移除缓冲区里的任何一部分:首先把光标移动到你 想要移除的区域的一端,然后按 C-@ 或 C-SPC(任一即可,SPC指空格)【注意, C-SPC 往往被中文用户设定成输入法热键,如果这样,C-SPC 就被系统拦截而无 -法输入给 Emacs 了,因此这里还是推荐使用C-@。】,然后再移动到另一端,再 -按 C-w 就可以把位于这两点之间的所有文字移除了。 +法传递给 Emacs 了,因此这里还是推荐使用C-@。】,然后将光标移动到另一端, +再按 C-w 就可以把位于这两点之间的所有文字移除了。 >> 移动光标到上一段开头的“你”字。 >> 输入 C-@ 。Emacs 应该会在屏幕的下方显示一个“Mark set”的消息。 >> 移动光标到第二行中的“端”字。 ->> 输入 C-w,就会把从“你”开始到“端”之前的文字全部移除。 +>> 输入 C-w,从“你”开始到“端”之前的文字被全部移除。 注意,“移除(kill)”和“删除(delete)”的不同在于被移除的东西可以找回 来,而被删除的就不行了。【实际上,移除掉的东西虽然看起来“消失”了,但 实际上被 Emacs 记录了下来,因此还可以找回来;而删除掉的东西虽然也可能还 在内存里,但是已经被 Emacs“抛弃”了,所以就找不回来了。】重新插入被移 -除的文字称为“召回(yank)”。一般而言,那些会去除很多文字的命令会把去 -除掉的文字储存起来(它们被设定成了“可召回”),而那些只是去除一个字符 -或者只是去除空白的命令就不会储存被去除掉的东西(自然你就无法召回了)。 +除的文字称为“召回(yank)”。一般而言,那些可能消除很多文字的命令会把 +消除掉的文字记录下来(它们被设定成了“可召回”),而那些只消除一个字符 +或者只消除空白的命令就不会记录被消除的内容(自然你也就无法召回了)。 >> 移动光标到一非空白行的行头,然后输入 C-k 移除那一行上的文字。 @@ -344,9 +345,9 @@ C-k 会把两行以及它们的换行符移除;而如果只是输入 C-k 两次显然不是这个结 果。 -将被移除的文字恢复的动作称为“召回(yanking)”。(就好像你把别人从你身 -边移走的东西又猛力地拉回来。)你可以在你删除文字的地方召回,也可以在别 -的地方召回,还可以多次召回同样的文字以得到它的多个拷贝。 +将被移除的文字恢复的动作称为“召回(yanking)”。(就好像把别人从你身边 +移走的东西又猛力地拉回来。)你可以在你删除文字的地方召回,也可以在别的 +地方召回,还可以多次召回同样的文字以得到它的多个拷贝。 召回的命令是 C-y。它会在光标所在处插入你最后移除的文字。 @@ -362,13 +363,13 @@ >> 按 C-y。然后把光标往下移动几行,再按一次 C-y。 现在你应该知道怎么复制文字了。 -C-y 可以把最近移除的文字召回,但如果你想召回的东西不是最近移除的,该怎 -么办呢?它们当然没有丢,你可以用 M-y 来召回它们。在用 C-y 召回最近移除 -的文字之后,紧接着再用 M-y 就可以召回再前一次被移除的文字,再按一次 -M-y 又可以召回再上一次的,因此只要多按几次 M-y 就可以找到你想要召回的东 -西了。找到了之后,你什么也不用做,把它们晾在那里,继续你的编辑就行了。 +C-y 可以召回最近一次移除的内容,那如何召回前几次移除的内容呢?它们当然 +没有丢,你可以用 M-y 来召回它们。在用 C-y 召回最近移除的文字之后,紧接 +着再按 M-y 就可以召回再前一次被移除的内容,再按一次 M-y 又可以召回再上 +一次的……连续使用 M-y 直到找到你想要召回的东西,然后什么也不用做,继续 +编辑就行了。 -如果你一次按 M-y 按了很多下,你可能会回到起始点,也就是最近移除的文字。 +如果连续按 M-y 很多次,你可能会回到起始点,也就是最近移除的文字。 【看得出这实际上是一个环。】 >> 移除一行,移动一下光标,然后再移除另外一行。 @@ -376,7 +377,7 @@ 紧接着再按 M-y,它将会被第一次移除的那行取代。 试着再按几下 M-y 看看会发生什么。 再继续,直到第二行被召回来,然后再做个几次。 - 如果你愿意,你可以试着给 M-y 指定一个正的或负的参数。 + 如果感兴趣,你可以试着给 M-y 指定一个正的或负的参数。 * 撤销(UNDO) @@ -405,24 +406,24 @@ * 文件(FILE) -------------- -想保存工作成果就要记得存盘,否则一旦退出 Emacs 你编辑的文字就都丢了。要 +想保存工作成果就要记得存盘,否则一旦退出 Emacs 你编辑的文字就会丢失。要 存盘,就要在编辑前“寻找”到一个存盘文件。(这个过程通常也被称为“访问” 文件。) -寻找到一个文件意味着你可以在 Emacs 里查看这个文件的内容。从很多方面讲, -这就等于你在直接编辑这个文件。但是你所做的修改只有在“存盘”的时候才会 -被写入文件。也正因为如此,你可以丢弃一个改到一半的文件而不必把这个残缺 -文件也保存到计算机上。最后就算你真正存了盘,Emacs 也会把存盘前的文件重 -命名保存,以防你改完之后又想反悔。 +寻找到一个文件意味着你可以在 Emacs 里查看这个文件的内容。从许多角度看, +这就等于你在直接编辑这个文件,只是你所做的修改只有在“存盘”的时候才会 +被写入文件。也正因为如此,你可以丢弃一个写到一半的文件而不必把这个残缺 +文件也保存到计算机上。在存盘的时候,Emacs 会把存盘前的文件重命名保存, +以防你改完之后又想反悔。 -在屏幕的下方,你应该能够看到头尾都是短线“-”的一行,其开头通常都是诸如 -“--:-- TUTORIAL.cn”这样的东西,这些文字就代表了你当前正在访问的文件。 -现在你访问的文件叫“TUTORIAL.cn”,它只是给你个人临时使用的一个拷贝。只 -要你用 Emacs 寻找到一个文件,文件名就会出现在上述位置。 +在屏幕的下方,你应该能够看到头尾都是短线“-”的一行,行首通常是一些诸如 +“--:-- TUTORIAL.cn”的文字,这些文字代表了你当前正在访问的文件。比如你 +现在正在访问的文件叫“TUTORIAL.cn”,它只是一个给你临时使用的拷贝。每当 +Emacs 寻找到一个文件,文件名就会出现在这个位置。 -寻找文件的命令有一个特别之处,那就是你必须给出文件名。我们称这个命令 -“从终端读入了一个参数”(在这里,这个参数显然就是文件名)。当你输入了 -这个命令之后: +寻找文件的命令有一个特点,那就是你必须给出文件名。我们称这个命令“从终 +端读入了一个参数”(在这里,这个参数显然就是文件名)。在你输入这条命令 +之后: C-x C-f 寻找一个文件 @@ -430,50 +431,51 @@ 行被称为小缓冲(minibuffer),在小缓冲里你可以使用通常的 Emacs 编辑命令 来编辑文件名。 -在小缓冲里输入文件名(其实输入别的东西也一样)时可以用 C-g 取消。 +在小缓冲里输入文件名(其实输入其它东西也一样)时可以用 C-g 取消。 >> 输入 C-x C-f,然后输入 C-g 这会关掉小缓冲,同时也会取消使用小缓冲的 C-x C-f 命令。 当然了,你也没有找任何文件。 -输入完文件名之后用 <Return> 结束,然后 C-x C-f 命令开始工作并找到你指定 -的文件。小缓冲在 C-x C-f 命令结束之后也会消失。 +用 <Return> 结束文件名的输入。这之后 C-x C-f 命令开始工作并找到你指定的 +文件。小缓冲在 C-x C-f 命令结束之后也会消失。 -眨眼间文件就会显示在屏幕上,你可以开始编辑了。存盘用这个命令: +眨眼间文件就被显示在屏幕上,你可以开始编辑了。存盘用这条命令: C-x C-s 储存这个文件 -这个命令把 Emacs 中的文字存储到文件中。第一次存盘的时候 Emacs 会将原文 -件重命名以保留原文。重命名的规则通常是在原文件名之后添加一个“~”字符。 +这条命令把 Emacs 中的文字存储到文件中。第一次存盘的时候 Emacs 会将原文 +件重命名以备份。重命名的规则通常是在原文件名之后添加一个“~”字符。 +【对许多人来说,这是一个烦人的特性,关掉文件备份可以用如下命令: + M-x customize-variable <Return> make-backup-files <Return>】 存盘结束后,Emacs 会显示写入文件的文件名。你最好养成经常存盘的习惯,这 -样在系统崩溃或者死机的时候你不会损失太多。 +可以减少系统崩溃和死机给你带来的损失。 >> 输入 C-x C-s 把本快速指南存下来。 - 你会看到“Wrote ...TUTORIAL.cn”这样的消息显示在屏幕的下方。 + 你会在屏幕的下方看到一条消息:“Wrote ...TUTORIAL.cn”。 -注意:使用某些终端的时候,输入 C-x C-s 会冻结屏幕【屏幕没有任何输出】, -这样你就看不到 Emacs 的任何变化。其原因是操作系统的“流量控制”功能把 -C-s 拦截了,并且冻结了屏幕,Emacs 自然也就看不到这个输入了。用 C-q 可以 -解除屏幕冻结。要解决这个问题,请参考 Emacs 手册里的“Spontaneous Entry -to Incremental Search”一节【Emacs 手册可能还没有中文翻译】,那里可能有 -一些有用的建议。 +注意:在某些终端下,输入 C-x C-s 会冻结屏幕【屏幕没有任何输出】,使你看 +不到 Emacs 的任何变化。其原因是操作系统的“流量控制”功能拦截了 C-s 并 +冻结了屏幕。用 C-q 可以解除屏幕冻结。要解决这个问题,请参考 Emacs 手册 +里的“Spontaneous Entry to Incremental Search”一节【Emacs 手册可能还没 +有中文翻译】,那里提供了一些有用的建议。 -你可以寻找一个已有的文件然后查看或者编辑,你还可以寻找一个不存在的文件。 -实际上这正是用 Emacs 创建新文件的方法:找到不存在的新文件,然后从零开始。 -在存盘的时候,Emacs 才真正创建这个文件然后再存盘。在这之后一切就跟你编 -辑一个已有文件一样了。 +你不但可以寻找一个已有的文件来查看或编辑,还可以寻找一个不存在的文件。 +实际上这正是 Emacs 创建新文件的方法:找到不存在的新文件。只有在存盘的时 +候,Emacs 才会真正创建这个文件。而在这之后的一切就跟编辑一个已有文件没 +有区别了。 * 缓冲区(BUFFER) ------------------ -如果你用 C-x C-f 找到第二个文件,第一个文件仍然会在 Emacs 里。要切回第 -一个文件,你可以 C-x C-f 再次寻找它。这样,你可以在 Emacs 里同时打开很 -多文件。 +你可以用 C-x C-f 找到并打开第二个文件,但第一个文件仍然在 Emacs 中。要 +切回第一个文件,一种办法是再用一次 C-x C-f。这样,你就可以在 Emacs 中同 +时打开多个文件。 >> 用 C-x C-f foo <Return> 的方式建立一个名为“foo”的文件。 - 然后敲入一些文字,再用 C-x C-s 保存文件“foo”。 + 输入一些文字,再用 C-x C-s 保存文件“foo”。 最后,输入 C-x C-f TUTORIAL.cn <Return> 回到这里。 Emacs 把每个编辑中的文件都放在一个称为“缓冲区(buffer)”的地方。每寻 @@ -484,40 +486,38 @@ >> 现在就试一下 C-x C-b -观察一下缓冲区是如何命名的,它很可能跟其对应的文件同名。事实上,你在一 -个 Emacs 窗格里看到的任何文字都是某个缓冲区的一部分。 +观察一下缓冲区是如何被命名的,它很可能跟与其对应的文件同名。实际上,一 +个 Emacs 窗格里的任何文字都是某个缓冲区的一部分。 >> 输入 C-x 1 离开缓冲区列表 -不管存在多少缓冲区,任何时候都只能有一个是“当前”缓冲区,也就是你正在 -编辑的这个。如果你想编辑另外一个缓冲区,那么你必须“切换”过去。上面讲 -过,用 C-x C-f 可以切换到某个文件对应的缓冲区。不过还有一个更简单点的办 -法,那就是用 C-x b。用这个命令,你必须输入缓冲区的名称。 +不管存在多少缓冲区,任何时候都只能有一个“当前”缓冲区,也就是你正在编 +辑的这个。如果你想编辑其它的缓冲区,就必须“切换”过去。上面讲过,用 +C-x C-f 是一种办法。不过还有一个更简单的办法,那就是用 C-x b。用这条命 +令,你必须输入缓冲区的名称。 >> 输入 C-x b foo <Return> 以回到文件“foo”的缓冲区。 然后输入 C-x b TUTORIAL.cn <Return> 回到这里。 -大多数情况下,缓冲区和与其对应的文件是同名的(不包括目录名),不过这也 -不是绝对的。用 C-x C-b 得到的缓冲区列表中显示的总是缓冲区的名称。 +大多数情况下,缓冲区与跟其对应的文件是同名的(不包括目录名),不过这也 +不是绝对的。用 C-x C-b 得到的缓冲区列表总是显示缓冲区名。 -你在 Emacs 窗格里看到的“任何”文字都一定是属于某个缓冲区的。也有些缓冲 -区并没有对应文件:比如显示缓冲区列表的缓冲区就是这样,再比如一个名叫 -“*Messages*”的缓冲区也没有对应的文件,这个缓冲区里存放的都是在 Emacs -底部出现的消息。 +你在 Emacs 窗格里看到的“任何”文字都一定属于某个缓冲区。然而,缓冲区未 +必有对应文件:比如显示缓冲区列表的缓冲区就是这样。再比如“*Messages*” +缓冲区也没有对应文件,这个缓冲区里存放的都是在 Emacs 底部出现的消息。 >> 输入 C-x b *Messages* <Return> 瞅瞅消息缓冲区里都有什么东西。 然后再输入 C-x b TUTORIAL.cn <Return> 回到这里。 -如果你对文件做了修改,然后切换到另一个文件,这个动作并不会帮你把第一个 -文件存盘,对第一个文件的修改仍然仅限于 Emacs 中,也就是在它对应的缓冲区 -里。同时对第二个文件的修改也不会影响到第一个文件。这很有用,但是也挺麻 -烦,因为如果你又想要存储第一个文件,你还需要先用 C-x C-f 切换回去,然后 -再用 C-x C-s 存盘,这显然太麻烦了。你需要一个更简便的方法,而 Emacs 当 -然已经替你想到了: +如果你对某个文件做了些修改,然后切换到另一个文件,这个动作并不会帮你把 +前一个文件存盘。对第一个文件的修改仍然仅存在于 Emacs 中,也就是在它对应 +的缓冲区里。并且,对第二个文件的修改也不会影响到第一个文件。这很有用, +但是也挺麻烦:因为如果你想要存储第一个文件,还需要先 C-x C-f 切换回去再 +用 C-x C-s 存盘。你需要一个更简便的方法,而 Emacs 已经为你准备好了: C-x s 保存多个缓冲区 -C-x s 会找到所有已被修改但尚未存盘的缓冲区,然后向你逐个询问,是否需要 +C-x s 会找出所有已被修改但尚未存盘的缓冲区,然后向你逐个询问:是否需要 存盘? >> 插入一行文字,然后输入 C-x s。 @@ -529,28 +529,28 @@ ----------------------------------------- Emacs 的命令就像天上的星星,数也数不清。把它们都对应到 CONTROL 和 META -组合键上显然是不可能的事情。Emacs 用扩展(eXtend)命令来解决这个问题, -扩展命令有两种风格: +组合键上显然是不可能的。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-x C-f 寻找文件和用 C-x C-s +保存文件;退出 Emacs 用的 C-x C-c 也是扩展命令。(不用担心退出 Emacs 会 +给你带来什么损失,Emacs 会在退出之前提醒你存盘的) 在控制台下,C-z 可以暂时离开 Emacs——当然,你还可以再回来。 在允许 C-z 的系统中,C-z 会把 Emacs“挂起”,也就是说,它会回到 shell -但不退出 Emacs。在那些最常用的 shell 中,通常可以用“fg”或者“%emacs” -命令再次回到 Emacs 中。 +但不退出 Emacs。在常用的 shell 中,通常可以用“fg”或者“%emacs”命令再 +次回到 Emacs 中。 在没有提供挂起功能的系统中,C-z 会在 Emacs 之下创建一个子 shell 来让你 -运行其它程序,并且再次“回到” Emacs 中——虽然我们并没有真正离开过。这 -种情况下,通常用shell 命令“exit”从子 shell 回到 Emacs。 +运行其它程序,并且再次“回到”Emacs 中——虽然我们并没有真正离开过。这 +种情况下,通常用 shell 命令“exit”从子 shell 回到 Emacs。 -C-x C-c 最好在你打算退出登陆的时候再用。在 Emacs 被诸如邮件处理程序之类 +你最好在打算退出登陆的时候再用 C-x C-c。在 Emacs 被诸如邮件处理程序之类 的外部程序调用之后,也可以用 C-x C-c 退出。不过一般来讲,如果你不想退出 登录,最好还是把 Emacs 挂起而不是退出。 @@ -563,50 +563,50 @@ C-x 1 关掉其它所有窗格,只保留一个。 C-x u 撤销。 -用命令名扩展的命令一般都不太常用,或者只在部分模式下被用到。比如 -replace-string(字符串替换)这个命令,它会在全文范围内把一个字符串替换 -成另一个。在你输入 M-x 的时候,Emacs 会在屏幕底端向你询问,然后你应该输 -入命令名。如果你想输入“replace-string”,其实只需要敲“repl s<TAB>”就 -行了,Emacs 会帮你自动补齐的。输入完之后按 <Return> 。 +用命令名扩展的命令通常并不常用,或只用在部分模式下。比如 replace-string +(字符串替换)这个命令,它会在全文范围内把一个字符串替换成另一个。在输 +入 M-x 之后,Emacs 会在屏幕底端向你询问并等待你输入命令名。如果你想输入 +“replace-string”,其实只需要敲“repl s<TAB>”就行了,Emacs 会帮你自动 +补齐。输入完之后按 <Return> 。 字符串替换命令需要两个参数——被替换的字符串和用来替换它的字符串。每个 -参数的输入用换行符来结束。 +参数的输入都以换行符来结束。 >> 将光标移到本行下面第二行的空白处,然后输入 M-x repl s<Return>changed<Return>altered<Return>。 - 【以下保留一行原文,以应练习之需: - Notice how this line has changed: you've replaced... 】 + 【以下保留一行原文,以应练习之需:】 + Notice how this line has changed: you've replaced... -请注意这一行是怎么改变的:在光标之后的范围内,你已经将“changed”这个 -词——不管它在哪里出现——全部用“altered”替换掉了。 +请注意这一行的变化:在光标之后的范围内,你已经将“changed”这个词——不 +论它在哪里出现——全部用“altered”替换掉了。 * 自动保存(AUTO SAVE) ----------------------- -如果你修改了一个文件但是还没来得及存盘,然后你的计算机罢工了,那么你编 -辑的东西很可能就找不回来了。为了避免这样的不幸一再发生,Emacs 会定期将 -你正在编辑的文件存入一个“自动保存”文件中。自动保存的文件名的头尾各有 -一个“#”字符,比如你正在编辑“hello.c”,那么它的自动保存文件就叫 -“#hello.c#”。在你正常存盘之后,Emacs 会删除自动保存文件。 +如果你已经修改了一个文件,但是还没来得及存盘你的计算机就罢工了,那么你 +所做的修改就很可能会丢失。为了避免这样的不幸发生,Emacs 会定期将正在编 +辑的文件写入一个“自动保存”文件中。自动保存文件的文件名的头尾各有一个 +“#”字符,比如你正在编辑的文件叫“hello.c”,那么它的自动保存文件就叫 +“#hello.c#”。这个文件会在正常存盘之后被 Emacs 删除。 -假如不幸真的发生了,你大可以从容的打开原来的文件(注意不是自动保存文件) -然后输入 M-x recover file<Return> 来恢复你的自动保存文件。在提示确认的 -时候,输入 yes<Return> 就行了。 +所以,假如不幸真的发生了,你大可以从容地打开原来的文件(注意不是自动保 +存文件)然后输入 M-x recover file<Return> 来恢复你的自动保存文件。在提 +示确认的时候,输入 yes<Return>。 * 回显区(ECHO AREA) --------------------- 如果 Emacs 发现你输入多字符命令的节奏很慢,它会在窗格的下方称为“回显区” -的地方给你提示。回显区位于屏幕的最后一行。 +的地方给你提示。回显区位于屏幕的最下面一行。 * 状态栏(MODE LINE) --------------------- -位于回显区的正上方的一行被称为“状态栏”。状态栏上会显示一些信息,比如: +位于回显区正上方的一行被称为“状态栏”。状态栏上会显示一些信息,比如: --:** TUTORIAL.cn (Fundamental)--L670--54%---------------- @@ -627,58 +627,58 @@ Emacs 的主模式林林总总。有用来编辑程序代码的——比如 Lisp 模式;也有用 来编辑各种自然语言文本的——比如 Text 模式。任何情况下只能应用一个主模 -式,其名称会显示在状态栏上,就在现在显示“Fundamental”的地方。 +式,其名称会显示在状态栏上,也就是现在显示“Fundamental”的地方。 -主模式有时会改变一些命令的行为。比如说,不管编辑什么样的程序代码,你都 -可以用一个统一的命令来添加注释,但是在不同的语言中注释的语法往往是不同 -的,这时相应的主模式就会分别用各自的语法规则来添加注释。主模式都是可以 -用 M-x 启动的命令,所以 M-x fundamental-mode 就可以切换到 Fundamental +主模式通常会改变一些命令的行为。比方说,不管编辑什么语言的程序代码,你 +都可以用一个相同的命令来添加注释。但是在不同的语言中注释的语法往往是不 +同的,这时不同的主模式就会用各自不同的语法规则来添加注释。主模式都是可 +以用 M-x 启动的扩展命令,M-x fundamental-mode 就可以切换到 Fundamental 模式。 -如果你要编辑自然语言文本——比如现在——你应该用 Text 模式。 +编辑自然语言文本——比如现在——应该用 Text 模式。 >> 输入 M-x text mode<Return>。 -别害怕,没有什么命令会改变功能。不过你可以发现,M-f 和 M-b 现在把单引号 -(')视为词的一部分了。而在先前,在 Fundamental 模式中,M-f 和 M-b 都将 -单引号视为分隔单词的符号。 +别担心,什么都没变。不过细心一些可以发现,M-f 和 M-b 现在把单引号(') +视为词的一部分了。而在先前的 Fundamental 模式中,M-f 和 M-b 都将单引号 +视为分隔单词的符号。 主模式通常都会搞一些类似的小动作,因为很多命令其实完成的是“相同的工 -作”,只是在不同情况下会有不同的工作方式而已。【所谓“求同存异”,在 +作”,只是在不同环境下会有不同的工作方式而已。【所谓“求同存异”,在 Emacs 里得到了很好的体现】 用 C-h m 可以查看当前主模式的文档。 ->> 用 C-u C-v 将本行带到靠近屏幕的上方。 +>> 用 C-u C-v 将本行带到屏幕的最上方。 >> 输入 C-h m,看看 Text 模式与 Fundamental 模式有哪些不同。 >> 输入 C-x 1 关掉文档窗格。 主模式之所以称之为“主(major)”模式,是因为同时还有“辅模式”(minor -mode)存在。辅模式并不能替代主模式,而是在主模式之外再做一些辅助的修改。 -每个辅模式都可以独立地开启和关闭,跟其它辅模式无关,跟主模式也无关。所 -以你可以不用辅模式,也可以用一个或者多个辅模式。 +mode)存在。辅模式并不能替代主模式,而是提供一些辅助的功能。每个辅模式 +都可以独立地开启和关闭,跟其它辅模式无关,跟主模式也无关。所以你可以不 +使用辅模式,也可以只使用一个或同时使用多个辅模式。 -有一个叫做自动折行(Auto Fill)的辅模式用处很大,特别是在编辑自然语言文 -本的时候。这个辅模式启动后,Emacs 会在你打字超出一行边界时自动替你换行。 +有一个叫做自动折行(Auto Fill)的辅模式很有用,特别是在编辑自然语言文本 +的时候。启用自动折行后,Emacs 会在你打字超出一行边界时自动替你换行。 -用 M-x auto fill mode<Return> 启动自动折行模式。启动之后,如果我们再用 -一次 M-x auto fill mode<Return>,自动折行模式就被关闭了。也就是说,如果 -自动折行模式没有开启,这个命令会开启它;而如果已经开启了,这个命令会关 -闭它。我们说这个命令用来“开关(toggle)”模式。 +用 M-x auto fill mode<Return> 启动自动折行模式。再用一次这条命令,自动 +折行模式会被关闭。也就是说,如果自动折行模式没有被开启,这个命令会开启 +它;如果已经开启了,这个命令会关闭它。所以我们说,这个命令可以用来“开 +关(toggle)”模式。 >> 现在输入 M-x auto fill mode<Return>。然后随便敲点什么,直到你看到它 - 分成两行。必须敲一些空格,因为 Auto Fill 只在空白处进行断行。【空格 - 对英文来说是必须的,而对中文则不必。】 + 分成两行。你必须敲一些空格,因为 Auto Fill 只在空白处进行断行。 + 【输入空格对英文来说是必须的,而对中文则不必。】 -行边界通常被设定为 70 个字符【这里指英文字符】,你可以用 C-x f 命令来重 -新设定之。指定新行边界可以用数字参数来进行传递。 +行边界通常被设定为 70 个字符【这里指英文字符】,你可以用 C-x f 命令配合 +数字参数来重新设定它。 >> 输入 C-x f 并传递参数 20: C-u 2 0 C-x f。 然后输入一些文字,观察 Emacs 的自动折行动作 最后再用 C-x f 将边界设回 70。 如果你在段落的中间做了一些修改,那么自动折行模式不会替你把整个段落重新 -折行。重新自动折行用 M-q,注意使用的时候光标必须位于你想折行的那一段里。 +折行,你需要用 M-q 手动折行。注意,光标必须位于你需要折行的那一段里。 >> 移动光标到前一段中,然后输入 M-q。 @@ -686,49 +686,47 @@ * 搜索(SEARCHING) ------------------- -Emacs 可以向前或者向后搜索字符串。搜索命令是一个移动光标的命令:搜索成 -功后,光标会停留在搜索目标出现的地方。 +Emacs 可以向前或向后搜索字符串。搜索命令是一个移动光标的命令:搜索成功 +后,光标会停留在搜索目标出现的地方。 -Emacs 的搜索命令的独特之处在于,它是“渐进的(incremental)”,意思是搜 +Emacs 的搜索命令的独特之处在于,它是“渐进的(incremental)”。意思是搜 索与输入同时进行:你在键盘上一字一句地输入搜索词的过程中,Emacs 就已经 开始替你搜索了。 -C-s 是向前搜索,C-r 是向后搜索。不过手别这么快!先等等别着急试。 +C-s 是向前搜索,C-r 是向后搜索。不过手别这么快!别着急试。 -在你按下 C-s 之后,你会发现回显区里有“I-search”字样出现,提示你目前 -Emacs 正处于“渐进搜索”状态,正在等待你输入搜索字串。按 <Return> 会结 -束搜索。 +在按下 C-s 之后,回显区里会有“I-search”字样出现,表明目前 Emacs 正处 +于“渐进搜索”状态,并等待你输入搜索字串。按 <Return> 可以结束搜索。 >> 输入 C-s 开始一个搜索。注意敲慢一点,一次输入一个字符。 - 慢慢输入“cursor”整个词,每敲一个字就暂停一下,注意观察光标。 + 慢慢输入“cursor”这个词,每敲一个字都停顿一下并观察光标。 现在你应该已曾经找到“cursor”这个词了。 >> 再按一次 C-s,搜索下一个“cursor”出现的位置。 >> 现在按四次退格键,看看光标是如何移动的。 >> 敲 <Return> 结束搜索。 -刚才看仔细了么?在一个渐进式搜索中,Emacs 会尝试跳到你输入的字符串的出 -现位置。想跳到下一个搜索目标出现的位置,只要再按一次 C-s 就行了。如果找 -不到,Emacs 会发出“哔”的一声,告诉你搜索失败。在整个过程中,都可以用 -C-g 来终止搜索。【你会发现 C-g 之后光标回到了搜索开始前的地方,而 -<Return> 会让光标留在搜索结果上,这是很有用的功能。】 +看仔细了么?在一次渐进式搜索中,Emacs 会尝试跳到搜索目标出现的位置。要 +跳到下一个命中位置,就再按一次 C-s。如果找不到目标,Emacs 会发出“哔” +的一声,告诉你搜索失败。在整个过程中,都可以用 C-g 来终止搜索。【你会发 +现 C-g 会让光标回到搜索开始的位置,而 <Return> 则让光标留在搜索结果上, +这是很有用的功能。】 -注意:使用某些终端的时候,输入 C-x C-s 会冻结屏幕【屏幕没有任何输出】, -这样你就看不到 Emacs 的任何变化。其原因是操作系统的“流量控制”功能把 -C-s 拦截了,并且冻结了屏幕,Emacs 自然也就看不到这个输入了。用 C-q 可以 -解除屏幕冻结。要解决这个问题,请参考 Emacs 手册里的“Spontaneous Entry -to Incremental Search”一节【Emacs 手册可能还没有中文翻译】,那里可能有 -一些有用的建议。 +注意:在某些终端下,输入 C-x C-s 会冻结屏幕【屏幕没有任何输出】,使你看 +不到 Emacs 的任何变化。其原因是操作系统的“流量控制”功能拦截了 C-s 并 +冻结了屏幕。用 C-q 可以解除屏幕冻结。要解决这个问题,请参考 Emacs 手册 +里的“Spontaneous Entry to Incremental Search”一节【Emacs 手册可能还没 +有中文翻译】,那里提供了一些有用的建议。 -如果你正在渐进式搜索中,按退格键会删除目标字符串的最后一个字符,并且光 -标会回到最近一次搜索的命中位置。比如你已经输入了“c”,光标就停在“c” -第一次出现的地方,再输入“u”,光标停在“cu”第一次出现的地方,这时再按 -退格键,“u”就从搜索字串中消失了,然后光标会回到“c”第一次出现的地方。 +在渐进式搜索中,按退格键会删除目标字符串的最后一个字符,并且光标会回到 +最近一次搜索的命中位置。比如你已经输入了“c”,光标就停在“c”第一次出 +现的位置,再输入“u”,光标停在“cu”第一次出现的位置,这时再按退格键, +“u”就从搜索字串中消失了,然后光标会回到“c”第一次出现的位置。 -另外如果你在搜索的时候输入了 CONTROL 或者 META 组合键的话,搜索可能会 -结束。(也有例外,比如 C-s 和 M-r 这些对搜索有特别意义的组合键。) +另外,如果你在搜索的时候输入了 CONTROL 或者 META 组合键的话,搜索可能会 +结束。(也有例外,比如 C-s 和 M-r 这些用于搜索的命令。) 前面说的都是“向下”搜索,如果想“向上”搜索,可以用 C-r。C-r 与 C-s -相比除了搜索方向相反之外,其它的操作都一样。 +相比除了搜索方向相反之外,其余的操作都一样。 * 多窗格(MULTIPLE WINDOWS) @@ -759,29 +757,29 @@ 窗口下缺省显示为镂空光标。】一般所有的编辑命令都作用于这个光标所在的窗 格,我们称这个窗格为“被选中的窗格”。 -当你在一个窗格中编辑,但是想用另一个窗格作参考的时候,C-M-v 是很有用的 -命令。你可以保持光标始终处于编辑窗格中,然后用 C-M-v 命令在另外一个窗格 -里滚动。【翻译和校对就很适合用这种方式进行。】 +当你在一个窗格中编辑,但用另一个窗格作为参考的时候,C-M-v 是很有用的命 +令。你可以始终处于编辑窗格中,然后用 C-M-v 命令滚动另外一个窗格。【比如 +翻译和校对就很适合用这种方式进行。】 -C-M-v 是一个 CONTROL-META 组合键。如果你有 META 键,你可以同时按住 -CONTROL 和 META 键然后输入 v。CONTROL 和 META 键哪个先按没有关系,因为 -它们只是用来“修饰(modify)”你输入的字符的。 +C-M-v 是一个 CONTROL-META 组合键。如果你有 META 键的话,可以同时按住 +CONTROL 和 META 键并输入 v。CONTROL 和 META 键先按哪个都可以,因为它们 +只是用来“修饰(modify)”你输入的字符的。 -如果你并没有 META 键,你也可以用 ESC 来代替,不过这样子按键顺序就有关系 -了:你必须输入 ESC ,然后再输入 CONTROL-v。CONTROL-ESC v 是没用的,因为 -ESC 本身是一个字符键,而不是一个修饰键(modifier key)。 +如果你并没有 META 键,你也可以用 ESC 来代替,不过这样的话就要注意按键顺 +序了:你必须先输入 ESC ,然后再输入 CONTROL-v。CONTROL-ESC v 是没用的, +因为 ESC 本身是一个字符键,而不是一个修饰键(modifier key)。 >> (在上方窗格里)输入 C-x 1 关掉下方窗格。 (如果你在下方的窗格里输入 C-x 1,那么就会关掉上方的窗格。你可以把这个 -命令看成是“只保留一个窗格”——就是我正在编辑的这个。) +命令看成是“只保留一个窗格”——就是我们正在编辑的这个。) -不同的窗格里可以显示不同的缓冲区。如果你在一个窗格里用 C-x C-f 打开了 -一个文件,另一个窗格并不会有什么变化。在任何一个窗格里都可以打开文件。 +不同的窗格可以显示不同的缓冲区。如果你在一个窗格里用 C-x C-f 打开了一个 +文件,另一个窗格并不会发生什么变化。任何一个窗格里都可以用来打开文件。 -有一种方式可以让你在另一个窗格里打开文件: +用下面的方法可以在一个新开窗格里打开文件: ->> 输入 C-x 4 C-f,后面紧跟着输入一个文件名,用 <Return> 结束。 +>> 输入 C-x 4 C-f,紧跟着输入一个文件名,再用 <Return> 结束。 可以看到你指定的文件出现在下方的窗格中,同时光标也跳到了那里。 >> 输入 C-x o 回到上方的窗格,然后再用 C-x 1 关掉下方窗格。 @@ -801,29 +799,29 @@ >> 输入 M-x 进入小缓冲;然后输入 ESC ESC ESC 离开。 -你不能用 C-g 来离开递归编辑,因为 C-g 的作用是取消命令和“参数 -(arguments)”,而这些东西都位于本层递归编辑“之内”。 +你不能用 C-g 退出递归编辑,因为 C-g 的作用是取消“本层递归编辑之内”的 +命令和其参数(arguments)。 * 获得更多帮助(GETTING MORE HELP) ----------------------------------- -本快速指南的目的仅仅是帮助你学会在 Emacs 的大海里游泳,不至于一上来就淹 -死。有关 Emacs 的话题三天三夜也讲不完,这里自然是写不下了。Emacs 很理解 -你求知若渴的心情,因为它提供的强劲功能实在是太多了。Emacs 提供了一些命 -令来查看 Emacs 命令的文档,这些命令都以 CONTROL-h 开头,这个字符也因此 -被称为“Help(帮助)字符”。 +本快速指南的目的仅仅是帮助你在 Emacs 的海洋里下水,不至于束手无策望洋兴 +叹。有关 Emacs 的话题可谓汗牛充栋,这里自然是难尽万一。不过 Emacs 很理 +解你求知若渴的心情,因为它提供的强大功能实在是太多了。为此,Emacs 提供 +了一些命令来查看 Emacs 的命令文档,这些命令都以 CONTROL-h 开头,这个字 +符也因此被称为“帮助(Help)字符”。 -要使用帮助(Help)功能,请先输入 C-h,然后再输入一个说明你需求的字符。 -如果你晕到连需要什么帮助都不知道,那么就输入 C-h ?,Emacs 会告诉你它能 -提供哪些帮助。如果你已经按了 C-h 又想反悔,那么用 C-g 取消它就是了。 +要使用帮助(Help)功能,请先输入 C-h,然后再输入一个字符以说明你需要什 +么帮助。如果你连自己到底需要什么帮助都不知道,那么就输入 C-h ?,Emacs +会告诉你它能提供了哪些帮助。如果你按了 C-h 又想反悔,可以用 C-g 取消。 -(有些站点改变了 C-h 的意思,他们这种以己度人外加一刀切的做法让倒是让你 -可以义正辞严的抱怨系统管理员,真的不是太好。话说回来,如果你按 C-h 之后 -没有任何帮助信息显示出来,那么试试 F1 键或者 M-x help <Return>。) +(有些主机改变了 C-h 的意义,这种以己度人外加一刀切的做法确实不太好,不 +过倒是让你可以义正辞严地抱怨他们的系统管理员。话说回来,如果你按 C-h 之 +后没有任何帮助信息显示出来,那么试试 F1 键或者 M-x help <Return> 。) -最基本的帮助功能是 C-h c。输入 C-h c 之后在输入一个组合键,Emacs 会很简 -要地给出这个命令的说明。 +最基本的帮助功能是 C-h c。输入 C-h c 之后再输入一个组合键,Emacs 会给出 +这个命令的简要说明。 >> 输入 C-h c C-p。 @@ -833,7 +831,7 @@ 这条消息显示了 C-p 命令对应的函数名,函数名主要用来定制和扩展 Emacs。命 令的功能由函数完成,所以函数名本身也可以被看成是最简单的文档——至少对 -于你已经学过的命令来说,它们的函数名足以解释它们所完成的工作了。 +于你已经学过的命令来说,它们的函数名足以解释它们的功能了。 多字符命令一样可以用 C-h c 来查看。 @@ -841,18 +839,18 @@ >> 输入 C-h k C-p。 -上面的命令会新打开一个 Emacs 窗格,并在其中显示函数的名称及其文档。你读 -完之后,可以用 C-x 1 关掉这个帮助窗格。当然你并不需要在 C-h k 之后立即 -这样做,你完全可以先在编辑窗格里做点别的事情,然后再用 C-x 1 关掉帮助。 +上面的命令会新打开一个 Emacs 窗格以显示函数的名称及其文档。你读完之后可 +以用 C-x 1 关掉这个帮助窗格。当然你并不需要立即这样做,你完全可以先在编 +辑窗格里做点别的事情,然后再关掉帮助窗格。 -还有一些其他有用的 C-h 命令: +还有一些其它有用的 C-h 命令: - C-h f 解释一个函数。你要输入函数名。 + C-h f 解释一个函数。需要输入函数名。 >> 试试看,输入 C-h f previous-line<Return>。 Emacs 会给出它所知道的所有有关“实现 C-p 命令功能的函数”的信息。 -C-h v 用来显示 Emacs 变量的文档,Emacs 变量可以被用来“定制 Emacs 的行 +C-h v 用来显示 Emacs 变量的文档。Emacs 变量可以被用来“定制 Emacs 的行 为”。同样,你需要输入变量的名称。 C-h a 相关命令搜索(Command Apropos)。 @@ -882,21 +880,21 @@ * 更多精彩(MORE FEATURES) --------------------------- -想了解更多使用 Emacs 的知识,应该去读一读 Emacs 使用手册——可以是纸版 -的书,也可以是电子版的联机帮助(可以从 Help 菜单进入或者按 F10 h r)。 -提两个你可能会很感兴趣的功能吧,一个是可以帮你少敲键盘的 completion(自 -动补全),一个是方便文件处理的 dired(目录编辑)。 +想学习更多的使用技巧,Emacs 使用手册(manual)值得一读。你可以读纸版的 +书,也可以看电子版的联机手册(可以从 Help 菜单进入或者按 F10 h r)。提 +两个你可能会很感兴趣的功能吧,一个是可以帮你少敲键盘的 completion(自动 +补全),另一个是方便文件处理的 dired(目录编辑)。 Completion 可以替你节省不必要的键盘输入。比如说你想切换到 *Message* 缓 -冲区,你就可以用 C-x b *M<Tab> 来完成,只要 Emacs 能够从你已经输入的文 -字中判断出你想要输入的东西,它会自动帮你补齐余下的。有关 Completion 的 -详细解释可以在 Emacs Info 中的“Completion”一节里找到。 +冲区,你就可以用 C-x b *M<Tab> 来完成。只要 Emacs 能够根据你已经输入的 +文字确定你想要输入的内容,它就会自动帮你补齐。有关 Completion 的详细说 +明可以在 Emacs Info 中的“Completion”一节里找到。 -Dired 可以在一个缓冲区里列出一个目录里的所有文件(可以选择是否也列出子 -目录),然后你可以在这个文件列表上完成对文件的移动、访问、改名或者删除 -等等操作。Dired 也在 Emacs Info 中有详细说明,就在“Dired”一节。 +Dired 能够在一个缓冲区里列出一个目录下的所有文件(可以选择是否也列出子 +目录),然后你可以在这个文件列表上完成对文件的移动、访问、重命名或删除 +等等操作。Dired 也在 Emacs Info 中有详细介绍,参见“Dired”一节。 -Emacs 使用手册里还有很多很多的精彩功能等着你来了解。 +Emacs 使用手册里还有许许多多的精彩功能等着你来了解。 * 总结(CONCLUSION) @@ -905,15 +903,15 @@ 记住,要退出 Emacs 请用 C-x C-c。要暂时切换到 shell 并且稍后再回到 Emacs 里来,请用 C-z。【切换到 shell 仅对控制台下的 Emacs 有效】 -本文完全是为零起点新手写的傻瓜教程。如果你觉得哪里还看不明白,千万不要 -觉得不好意思,那一定是我们没有写好。我们永远欢迎你的不满和抱怨。 +本文完全是为零起点新手所写的起步教程。如果你觉得哪里还看不明白,千万不 +要怀疑自己,那一定是我们没有写好。我们永远欢迎你的不满和抱怨。 * 翻译(TRANSLATION) --------------------- -翻译:孙 一江 <sunyijiang@gmail.com> -校对:水木社区(www.newsmth.net)Emacs 板众多网友 +翻译:孙一江 <sunyijiang@gmail.com> +校对:水木社区(www.newsmth.net)Emacs 板众多网友及众多 Emacs 中文用户 Emacs 快速指南(Tutorial)早有两个刘昭宏的中文译本,繁简各一。其简体版本 (TUTORIAL.cn)基本由繁体版本(TUTORIAL.zh)经词语替换而得。然而繁简中文 @@ -924,10 +922,12 @@ 表示感谢。 翻译过程中最大的挑战莫过于术语译词的选择了。经过水木社区 Emacs 板热心网 -友小范围内的讨论,我们选择了现在的译法。用户的广泛参与是自由软件生命力的 -源泉,所以如果你有任何建议、勘误或更好的想法,请用你喜欢的方式向我们提出 -。你可以直接给我发电子邮件,也可以放到 GNU Emacs 的开发邮件列表或者水木 -社区的 Emacs 板上进行讨论。下面列出主要术语的译词对照,并给出注释说明: +友小范围内的讨论,我们选择了现在的译法。用户的广泛参与是自由软件生命力 +的源泉,所以如果你有任何建议、勘误或想法,请用你喜欢的方式向我们提出。 +你可以通过电子邮件直接联系译者,也可以放到 GNU Emacs 的开发邮件列表或者 +水木社区的 Emacs 板上进行讨论。 + +下面列出主要术语的译词对照,并给出注释说明: command 命令 cursor 光标 @@ -956,7 +956,7 @@ 《学习GNU Emacs》(第二版)一书对“window”和“frame”的翻译与本教程 刚好相反(分别译作“窗口”和“窗格”)。在此特别注明,以消除可能产生 - 的疑惑。 + 的疑惑。(感谢李旭章 <lixuzhang@gmail.com> 指出) [2] 对于“delete”和“kill”的区别,正文已经给出了详细的说明。“删除”和 “移除”相比较起来,前者更多地隐含着“破坏”和“不可恢复”的意思,而 @@ -968,7 +968,7 @@ [3] “incremental”一词在计算机著作中广泛出现,被广泛接受的中文译词有两 个:“增量的”和“渐进的”。“incremental search”翻译成“增量式搜索 - ”或者“渐进式搜索”都讲的通,且都有各自的形象之处。还是参考原文对其 + ”或者“渐进式搜索”都讲得通,且都有各自的形象之处。还是参考原文对其 的解释:“... means that the search happens while you type in the string to search for”。意思是之所以称其为“incremental search”,是 因为“在你输入搜索字符串的过程中,搜索就已经在进行了”。我们认为“增 @@ -1012,7 +1012,7 @@ 本篇文档与 GNU Emacs 一样拥有版权,并允许在下列条件的约束下发行其拷贝: - Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, 2005 + Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 本文档允许在不变更文档内容的情况下由任何人发布在任何媒体上,同时必须