Board logo

标题: 生活在 Emacs 中-常用文本操作 [打印本页]

作者: look_w    时间: 2018-4-19 12:35     标题: 生活在 Emacs 中-常用文本操作

插入文本从某种重要意义上说,Emacs 是很容易的。无需进入插入模式或从任何特别命令模式中退出 ― 直接输入,您就已经在插入文本了。让我们在这里重申一件事:使用“保存缓冲区”命令尽早地经常地保存您的工作:C-x C-s。
您喜欢这样吗?这是本教程中最短最容易的一屏。现在深呼吸一次,我们将进入删除文本。
基本的删除和撤销删除文本的方法有两种。在这屏中,我们将讲第一种:字符删除。您很可能已经习惯了单独字符的删除方式:使用 Delete 键或 Backspace 键。
在 Emacs 中,至少有一个击键和 Delete 等同:C-d 删除光标下的字符。撤销字符删除的方法是使用 C-x u 命令或真正的速写,C-_。对于多次撤销来说,后者更方便。现在练习一下这些操作从而开始您的手指在 Emacs 中的训练。
注意:我读过的有些文档指出 Delete 键应该向后删除(backspace 或和 ^H 等同的击键)而 C-d 替代了 Delete。这取决于您的操作设置和终端配置。
删除的字符被保存在缓冲区中,只是用于撤销,您只能通过撤销删除后的所有更改来得到那些修改。用于多字符区域的更“高级”形式的删除被同时保存到另一个不同的结构中,我们接下来将学习它。
Emacs 剪切和粘贴,第 1 部分下面是您删除比较大的块时需要用的命令(它被称为“杀死”):
[td]
键绑定操作(命令)
M-dkill-word
M-Deletebackward-kill-word
M-kkill-sentence
C-x Deletebackward-kill-sentence
C-kkill-line

C-k 的使用有一点窍门。使用一次后,它剪切该行的文本但不包括换行符。那需要再按一次 C-k。剪切段落的命令也有:kill-paragraph 和 backward-kill-paragraph,但它们没有键绑定。
那么您删除的东西到哪里去了?当然在剪切环(kill ring)里。多次顺序的删除(例如重复几次按 C-k)作为一块进入剪切环,这样很有用。在下一屏中,我们将学习存取那些数据。
Emacs 剪切和粘贴,第 2 部分它被称作剪切环的原因是它存储了大于一个字符的已删除文本。还有,它能按顺序被存取,从位于最后的最新的,到编辑会话期间第一个被删除的,接着又回到最近的。所以,从拓扑结构上说,它是环。
输入 C-y,粘贴最近的块。重复按 C-y 粘贴出的还是那块。
得到更旧的“剪切”的方法是先输入 C-y,您将看到最近的块。然后,输入 M-y,一步步遍历剪切环。每一步替换前面的粘贴。现在试一下 ― 确实很有用。
通用参数键绑定为 C-u 的命令 universal-argument 可被用作许多其它操作的前缀,包括我在前几屏中给您讲的许多删除命令。
例如,输入 C-u 6 C-k 可删除三行。是的,是三行,不是六行。别忘了那行文本和它的换行符是分开来被 kill-line 剪切的。一旦您用过几次后,您的大脑就不难适应了。
若没有数字参数,universal-argument 缺省为 4 次。
复习基本操作下面的表格是这章讨论的所有命令和它们的键绑定。看一看它们,确认您知道它们是什么。很快地练习它们,以增加对这些操作的熟悉。在练习前,通过在主窗口中输入来插入文本。
[td]
键绑定操作(命令)
C-g (Esc Esc Esc)keyboard-quit 用来退出已启动的命令
Backspacebackward-delete-char
Delete (C-d)delete-char
C-x u (C-_)advertised-undo
M-dkill-word
M-Deletebackward-kill-word
M-kkill-sentence
C-x Deletebackward-kill-sentence
C-kkill-line
C-yyank 等同于粘贴
M-y遍历剪切环,必须跟 C-y
C-u, C-u Nuniversal-argument,在命令前加上次数前缀





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0