基础编辑
几乎所有编辑器都具有的基础功能。
使用 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
比较类似于 剪切 ,剪切掉的内容被依次放入 剪切队列 kill-ring ,可以召回。
delete
就是 删除 了,删除掉的内容并不能召回。但是可以通过 M-x undo 撤消删除。
复制
M-w
(M-x kill-ring-save)
将内容放入 剪切队列 kill-ring
C-w
剪切
粘贴
C-y
(M-x yank)
从 剪切队列 kill-ring 中召回最后一次放入的内容
M-y
(M-x yank-pop)
从 剪切队列 kill-ring 中按后进先出的顺序,依次召回
- 这个命令只能在 M-x yank 或者 M-x yank-pop 之后使用。也就是说,只能 C-y 后 M-y , M-y 可以连续多次。
撤消
C-/
(M-x undo)
撤消之前的修改
C-_
(M-x undo)
C-x u
(M-x advertised-undo)
advertised-unde 是 undo 命令的一个别名
- 为了减少 undo 的次数,每插入20个字符,视为一个 undo 的单位。
重做
安装 redo.el 扩展,并在配置文件中添加如下内容
;;---------- redo
;; 读取扩展
(require 'redo)
;; 设置 Redo 的键绑定
(global-set-key ( kbd "C-.") 'redo)