* 搜寻( SEARCHING )
---------------------
Emacs 能够搜寻字串(字串能够是一群连续的字符或字)【就中文来说,字符和
字基本上意义相同;此处所指的『字』,是英文中没有被空白隔开的字符集
合。】,往前或往后搜寻都能够。搜寻一个字串是一种光标移动命令,他会将游
标移动到字串出现的下一个地方。
Emacs 搜寻命令和大部分编辑器的搜寻命令不同的地方在于,他是“渐进的
( incremental )”。这表示搜寻发生在您键入想要搜寻的文字串后。
要开始搜寻的命令是:C-s 往前搜寻,C-r 往后搜寻。但先等一下!现在先不要
试。
当您键入 C-s 时,会发现到有一个字串“I-search”出现在回应区中作为提示。
他告诉您 Emacs 现在正处于称为“渐进式搜寻”的状态中,等待您键入您想要
搜寻的字串。
>> 现在键入 C-s 开始一个搜寻。慢一点,一次键入一个字符,
键入『cursor』这个字,每键入一个字符时,稍微停一下,
注意看看光标发生了什么事。现在您已曾搜寻过“cursor”这个字了。
>> 再次键入 C-s 来搜寻“cursor”的下一个出现位置。
>> 现在键入
>> 键入
您有没有看到发生了什么?在一个渐进式搜寻中,Emacs 试著要走到您键入的字
串的下一个出现位置。要移动到光标所在的下一个出现位置,只要再键入 C-s
一次。假如并没有这样的出现位置存在,Emacs 会哔一声,并告诉您现在的搜寻
“失败”。另外 C-g 也能够用来结束搜寻。
注意:在某些系统中,键入 C-s 将会把屏幕冻结,您将看不到从 Emacs 来的任
何输出。这表示操作系统一个称为“流程控制”的“功能”将 C-s 命令拦截住,
并且不让他传到 Emacs。要取消屏幕的冻结,请键入 C-q。然后到 Emacs 使用
手册中看看对于“渐进式搜寻的同时进入( Spontaneous Entry to
Incremental Search )”这个主题,以取得处理这个“功能”的建议。
假如您在一个渐进式搜寻的中间,并且键入
中的最后一个字符被消除了,并且搜寻会回到这个搜寻的最后一个地方。举例来
说,假设您已键入了『c』,用来寻找“c”的第一次出现。现在假如您键入
『u』,光标会移动到“cu”的第一次出现位置。现在键入
“u”从搜寻字串中消除,并且光标会移回到“c”的第一次出现位置。
假如您在一个搜寻的中间,并且键入一个 CONTROL 或 META 字符的话,(但有
一些例外 -- 对搜寻而言特别的字符,像是 C-s 和 C-r ),搜寻会被结束。
C-s 会开始一个搜寻,他会寻找搜寻字串在现在光标位置“之后”,的任何出现
位置。假如您想要在先前文字中搜寻,键入 C-r 作为替代。除了搜寻的方向相
反之外,我们所宋募?有关 C-s 的任何事情,同样地能够应用到 C-r 上。
* 多重窗格( MULTIPLE WINDOWS )
--------------------------------
Emacs 许多好功能的其中之一是,您能够在屏幕中同时展示超过一个窗格。
>> 移动光标到这一行并且键入 C-u 0 C-l。
>> 现在键入 C-x 2,他会将屏幕平分成两个窗格。
这两个窗格都显示著这个快速指南。光标则停留在上方的窗格。
>> 键入 C-M-v 以卷动下方的窗格。
(假如您并没有一个真的 META 键,则键入 ESC C-v 亦可。)
>> 键入 C-x o(『o』指的是其他『other』的意思),
将光标移动到下方的窗格。
>> 在下方的窗格中,使用 C-v 和 M-v 来卷动他。
继续维持在上方的窗格中阅读这些指引。
>> 再一次键入 C-x o 将光标移回到上方的窗格。
光标会回到他在上方窗格中,原本所在的位置。
您能够持续使用 C-x o 在窗格之间转换。每一个窗格有他自己的光标位置,但
是只有一个窗格会真的显示出光标。任何通常的编辑命令只会应用到那个光标所
在的窗格。我们称这个为“被选择的窗格”。
命令 C-M-v 在当您于一个窗格中编辑文字,并使用其他的窗格作为参考之用时,
是很有用的。您能够将光标一直保持在您正在编辑的窗格中,并以 C-M-v 指
令在其他的窗格循序地前进。【验证工作特别适合以这种方式来进行,如 GNU
中译小组:找一个原始英文文档;再找他翻译好的中文文档,编辑这个“被选择
的窗格”,以 C-M-v 命令跟上验证中的段落……。】
C-M-v 是 CONTROL-META 字符的一个例子。假如您有一个真的 META 键,您能够
同时按住 CONTROL 和 META 再键入 v 来键入 C-M-v。CONTROL 或 META “谁先
被按住”并没有影响,因为这两个键都是用来修饰您所键入的字符。
假如您并没有一个真的 META 键,您能够使用 ESC 来作为替代,这样子顺序就
有关系了:您必须键入 ESC ,跟著键入 CONTROL-v,CONTROL-ESC v 并不会作
用。这是因为 ESC 是个具备本身作用的字符,而不是个修饰键。
>> (在上方窗格)键入 C-x 1 以除去下方窗格。
(假如您已在底端的窗格键入 C-x 1,那么将会把上面的窗格隐藏住。将这个
命令想像成“只保留一个窗格 -- 我正在编辑的这个。”)
您无需在两个不同的窗格中显示相同的缓冲区。假如您使用 C-x C-f 在一个
窗格中找文档,另一个窗格并不因而改变。您能够在单独的任一个窗格中找〔他
自己的〕一个文档。
这里有另外一个方式能够用来,使用两个窗格显示两个不同的东西:
>> 键入 C-x 4 C-f,后面跟著您的其中一个文档的名称。
以
光标也跑到那里。
>> 键入 C-x o 以回到上方的窗格,然后以 C-x 1 删除掉下方窗格。
* 递归编辑阶层( RECURSIVE EDITING LEVELS )
--------------------------------------------
有时候您会进入所谓的“递归编辑阶层”。他是由位在状态行的方括弧所指明,
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




