这里说的是标准的 Emacs 的一些 “万年不变” 的快捷键,如果你用的某个集成好的,例如,doom, spacemacs, 它们不在此之列。(我没用过,不过我很怀疑它们会改掉我说的这些)
BTW: 我之前走过一些弯路,很多快捷键在刚开始用 Emacs 那会儿都改了,但是,这会带来很大的麻烦, 所以,下面说的快捷键,其实还是不建议乱改的,因为就正如我说的那样,这些是 “万年不变” 的, 常见的 mode 都用这些约定,你改一个,还得改下一个, 没完没了 …
下面 Ctrl 用 C
表示,Alt 用 M
表示, 使用 -
关联组合.
我下面列出常见的几个,仅作抛砖引玉,欢迎大家贡献!
快捷键 | 绑定的函数 | 功能 | 解释 |
---|---|---|---|
C-M-a | beginning-of-defun | 跳转到函数的开头/前一个函数 | 大部分 mode 会实现自己的 defun, 然后绑定到 `beginning-of-defun-function |
C-M-e | end-of-defun | 跳转到函数的结尾/下一个函数 | 大部分 mode 会实现自己的 defun, 然后绑定到 end-of-defun-function |
C-M-h | mark-defun | 标记当前 function | 通常会使用上面的两个 function 实现 |
M-} | forward-paragraph | 跳到下一个 区块 |
|
M-{ | backward-paragraph | 跳到前一个 区块 |
|
M-h | mark-paragraph | 标记当前 区块 |
使用上面的函数实现 |
M-q | fill-paragraph | 将当前的 区块 区域按照 fill-column 的长度换行 |
有些模式会实现自己的 defun, 绑定到 `fill-paragraph-function |
C-M-f | forward-sexp | 跳转到 S 表达式的末尾 | S 表达式我的理解就是那些括号啥的,对称的符号 |
C-M-b | backward-sexp | 跳转到 S 表达式的开始 | |
C-M-Space | mark-sexp | 标记当前的 S 表达式 | 个人觉得这个在 lisp 配置文件时很有用 |
C-M-u | backward-up-list | 跳转到上一个层级 | 例如,从 method 名直接跳转到所在的类名 |
BTW: 如果你有一些比较高级的包,可能部分命令会被这些包里提供的更好,更便利的函数换绑。
还有很多,欢迎大家一起补充,一起学习, 有些快捷键如果总是不用,真的会忘掉。