分类: LINUX
2008-12-03 22:42:20
您正在顺利地学习关于 Emacs 编辑的所有基本知识,但还有一些重要的概念是您需要知道的:如何标记文本区域并在这些区域上执行操作,以及如何使用鼠标。
Emacs 有一项标记文本区域的功能,您可以将这个区域作为一个整体进行编辑:表 5 中对这些命令进行了描述和简要介绍。
移动到缓冲区的顶部,即诗的第一节的开始处,然后键入 C-Space
,方法是按住 Ctrl,再按空格键。这被称为设置标记;迷您缓冲区中会出现一条消息,告诉您已经设置了标记。
插入点和您设置标记的位置之前的部分被称为区域。
将插入点由开始处移动到小节后的空白处,将整个第一小节设置为区域
有些特殊的命令可用来操作区域,包括 C-w
,它能删除区域。
键入 C-w
,删除您刚才定义的区域。
每次您删除文本时,这些文本都会保存在 Emacs 的 kill ring 中。您可以用 C-y
把它们恢复到插入点。移动到缓冲区的末尾,按 Enter,插入另一个空白行,然后将这个小节移回去。
您不仅能删除区域;使用 C-k
还可以删除从插入点到行末的所有文本。向上移到以 Tiger 开头的一行,然后用 C-k
删除它。注意,这一操作不会删除空白行;还要第二次使用 C-k
。按此操作,然后使用 C-y
将整行移回去。如果您用多个删除命令连续进行删除,它们会叠加在一起,只返回一个移除内容。
您可以将某一行恢复任意多次。移动到缓冲区的顶部,然后再次使用 C-y
把它移回去。
您还可连续多次使用 C-k
键盘输入进行删除,删除的内容会被移到一起。请试试一次删除多行,然后使用 C-y
将它们移回原先的位置。
如果您是想复制区域,不必删除它。如果要将区域保存在 kill ring 中而不是删除它,请使用 M-w
(而不是 C-w
)。
尝试下面的操作:
C-Space
,设置标记。M-w
,将这三行复制到 kill ring,而不是删除它们。C-y
移除这三行。此后您的缓冲区将如 图 8 所示。
键盘输入 | 函数 | 描述 |
---|---|---|
C-Space
|
set-mark-command
| 在插入点设置标记。 |
C-k
|
kill-line
| 删除从插入点到行末的所有文本。 |
C-w
|
kill-region
| 删除区域。 |
M-w
|
kill-ring-save
| 将区域保存在 kill ring 中,但不删除它。 |
C-y
|
yank
| 恢复来自 kill ring 的文本。 |
虽然 Emacs 是为了用键盘快速操作而设计的,但是您也可以使用鼠标,这对文本操作来说有时是很方便的。
要将插入点移到缓冲区的任意位置,请把鼠标指针移到该位置,然后单击一下鼠标左键。试着用鼠标移动到诗的第二节和第三节之间的空白处,然后键入新的一节。
When the stars threw down their spears, |
用左键双击一个单词以选中它。双击您刚刚键入的 Tiger,它将突出显示,然后按 Del 将它删除。现在键入 Lamb
,将这个单词插入插入点处。
要用鼠标选择一整行,请用鼠标左键三击该行。请在顶行尝试此操作,然后按 Del 将该行删除。键入 C-_
恢复删除的内容。
在缓冲区的中间单击鼠标左键,然后再输入两段,完成这首诗:
What the hammer? what the chain? |
您可以单击鼠标左键,然后拖动指针,以选择一个区域。您还可以按一下鼠标左键(将指针设置在某个位置),选择一个区域,然后在别处单击右键(将标记设置在此处)。当您这样操作时,您选择的文本无需删除就会被放置在 kill ring 中,您可以使用 C-y
或鼠标中键将文本复制到插入点处。要将突出显示的区域放在 kill 缓冲区中并删除它,请双击鼠标右键以设置区域。
试着调换您刚才键入的两节诗的次序:
键入 C-x C-s
,将您的缓冲区保存到磁盘。您的 Emacs 会话应如图 9 所示。
表 6 描述了 Emacs 中的各种鼠标操作。
鼠标命令 | 描述 |
---|---|
B1
| 这一命令将设置插入点位置;拖动鼠标左键以设置区域。 |
B1-B1
| 这一命令标记一个单词。 |
B1-B1-B1
| 这一命令标记一行。 |
B2
| 这一命令插入最近被杀死的内容,并把光标移动到插入内容的末尾。 |
B3
| 这一命令会设置并突出显示区域,然后无需删除就将其放在 kill 缓冲区中。如果某个区域已经被突出显示并设置,该区域的末尾将移动到您单击的位置。 |
B3-B3
| 这个命令将突出显示区域,然后删除它。如果某个区域已经被突出显示并设置,该区域的末尾将移动到您单击的位置,此后该区域将被删除。 |