几乎所有编辑器都具有的基础功能。
使用 Readline 控件的程序,例如 bash ;以及其它使用 Emacs风格 键绑定的程序,也使用基本相同的功能键。如果熟悉 bash 的快捷键,这些绑定您一定驾轻就熟
![]() |
注意 |
|---|---|
| 这里只是一个列表,更详细的介绍,请参阅《Emacs 快捷指南》 C-h t |
表 25.4. Emacs 定位
| 向前 | 向后 | 向下 | 向上 | |
| 卷屏 | C-v | M-v | ||
| 字符 | C-f | C-b | C-n | C-p |
| 单词 | M-f | M-b | ||
| 行 | C-a | C-e | 移动到行首或行尾,不能跨行 | |
| 句 | M-a | M-e | ||
| 段落 | M-{ | M-} | ||
| 缓冲区 | M-< | M-> | 移动到缓冲区起始或结束 | |
| 行号 | M-g g | M-g M-g | M-x goto-line | 按行号跳转 |
| 字符位置 | M-x goto-char | 按字符跳转 | ||
其它:
C-M-l (M-x reposition-window)
将当前行卷至页面中部
C-l (M-x recenter)
刷新页面,将将当前行卷至页面中部 (使用数字参数指定行)
M-r M-x (move-to-window-line)
移动光标至页面中间的行 (使用数字参数指定行)
表 25.5. Emacs 删除
| 向前 | 向后 | |||
| 字符 | C-d | M-x delete-char | DEL | M-x delete-backward-char |
| 单词 | M-d | M-x kill-word | C-Delete / M-DEL | M-x backward-kill-word |
| 行 | 光标至行末 | C-k | M-x kill-line | |
| 整行 | C-S-backspace | M-x kill-whole-line | ||
| 按表达式删除 | C-M-k | M-x kill-sexp | ||
| 区块 | C-w | M-x kill-region | ||
| 空白 | 删除连续空格 | M-x delete-horizontal-space | ||
![]() |
注意 |
|---|---|
|
上表中 DEL 实际按键为 Backspace ,PC 中只有 Delete 键,而没有 DEL 键,Emacs 把 Backspace 映射为 DEL backspace 实际按键也为 Backspace 类似的,Emacs 把 PC 的 Enter 键映射为 RET ; 而 RET 实际为 C-m |
可能您注意到了,Emacs 进行删除时有两种处理方法, delete 和 kill
比较类似于 剪切 ,剪切掉的内容被依次放入 剪切队列 kill-ring ,可以召回。
就是 删除 了,删除掉的内容并不能召回。但是可以通过 M-x undo 撤消删除。
C-y (M-x yank)
从 剪切队列 kill-ring 中召回最后一次放入的内容
M-y (M-x yank-pop)
从 剪切队列 kill-ring 中按后进先出的顺序,依次召回
C-/ (M-x undo)
撤消之前的修改
C-_ (M-x undo)
C-x u (M-x advertised-undo)
advertised-unde 是 undo 命令的一个别名