分类
工具周边

Emacs 入门指南:基本编辑命令:移动光标

Emacs splash screen

基本编辑命令

Emacs 让用户能够快速高效地工作,其方法之一就是提供在文本间移动,和操作文本的高阶命令。这些命令可以应用于字符、单词、行、句子、段落、页面、函数定义、空白处等。我们可以在任何阅读或编辑文本的地方使用它们:源代码、网页、shells、目录列表、电子邮件消息等。

在缓冲区中移动{光标}

最基本的缓冲区移动命令按行或列(字符)移动焦点(光标):

C-f 前移一个字符
C-n 移动至下一行
C-b 后移一个字符
C-p 移动至上一行

下面是一些在较大区块上移动光标的方法[1]

C-a 移动至行首
M-f 前移一个词
M-a 移动至上一句
M-v 移动至上一屏
M-< 移动至缓冲区头部
C-e 移动至行末
M-b 后移一个词
M-e 移动至下一句
C-v 移动至下一屏
M-> 移动至缓冲区尾部

当你习惯了这些按键,使用起来会比其它应用程序中的等价按键( Home、End、Ctrl+Left 等),更为得心应手,因为双手不必离开基本输入位置。而在缓冲区中,按键{操作}远比使用鼠标来回移动更为迅速。

Emacs& nbsp;提供了额外的命令,以在特定上下文情境下移动光标(例如在编写源代码时,有专用命令移动光标到上一个或下一个函数定义处)。

因为上述许多命令都是将光标移动到,当前位置的一个相对位置上,所以我们可以反复使用它们(如 C-p C-p C-p 回退三行)。还可以用前缀参数节约时间:C-u 后跟一个数字和一个移动命令,表示将该命令重复执行指定次数。可以使用 M-[digit] 代替 C-u [digit] 。如果使用 C-u 时没有指定数字,默认值为4。当我们不知道需要移动的准确次数时,省略数字可以节省时间。

C-u 3 C-p 向上移动3行
C-u 10 C-f 前移10个字符
M-1 M-0 C-f 前移10个字符
C-u C-n 向下移动4行
C-u C-u C-n 向下移动16行
C-u C-u C-u C-n 向下移动64行

光标也可以直接跳转到缓冲区的指定行上:

M-g g 跳转到指定行

查找文本是在缓冲区中移动的快捷方法。可以将查找看作是另一种形式的移动。我们在查找特定元素时,可以使用渐进式搜索直接跳转到相应位置,而不必逐行或逐页查看。有关搜索的问题后面会详细说明。

C-s 渐进式正向搜索
C-r 渐进式反向搜索

在缓冲区移动光标的另一种方法是使用标记

未完待续……

分类
工具周边

Emacs 入门指南:文本操作

文本操作功能

Emacs 提供了大量操作文本的工具,同时也有方法呈现文本中的各种信息。下面是一个例子:

M-x dired 在所选目录中启动 Dired 文件管理器模式。然后按下 C-x C-q(或  M-x wdired-change-to-wdired-mode)切换到可编辑Dired 模式:

Close-up of a directory listing in Editable Dired mode.

在这种模式下,更改右栏文件名,然后键入 C-x C-s(“保存”)即可实现指定文件的重命名。重命名文件与编辑文本一样容易。批量重命名(例如,重命名形如 icon_* 的文件为 backup_icon_*)与执行查找和替换一样容易(M-x query-replace M-%),我们不需要学习如何使用一个单独的批量重命名工具。

在 Emacs 中,与我们进行交互的不仅包括文件和目录,还有系统工具、编译器、调试器、个人信息管理器、网页、电子邮件、聊天应用,以及其它各种互联网服务等,而且有一个第三方工具系统为我们提供更多的功能特性。正是由于这种整合性,Emacs 的优势得以体现:我们所学会的任意一项编辑功能(例如查找和替换),都可以在各种不同场景下得到应用。

未完待续……