快捷键 |
说明 |
M-. <RET> |
跳转到光标所指的标签 |
M-. <tag> <RET> |
查找一个特定的标签 |
C-u M-. |
查找最近一个标签的下一个定义 |
M-* |
跳回上次使用 M-. 的地方 |
ido-mode
快捷键 |
功能 |
C-s |
next |
C-r |
previous |
C-f |
直接退出到打开文件的环境 |
这些是最基本的用法,在使用中,如果记不清楚如何用keys的地方,就用老方法查:
1 2
| M-x describe-function RET ido-find-file RET C-h f ido-find-file RET
|
Prelude
Prelude里定义的一些快捷键:
全局
按键绑定 |
说明 |
C-M-h |
删除前一个单词(backward-kill-word )。(和 Bash/Zsh 一致的风格) |
C-x \ |
align-regexp |
C-+ |
增大字号(text-scale-increase ) |
C-- |
减小字号(text-scale-decrease ) |
C-x O |
回到上一个窗口 (与 other-window (C-x o ) 相反的顺序) |
C-^ |
合并两行为一行 (prelude-top-join-line ) |
C-x p |
启动 proced (在Emacs下管理进程。只能工作在Linux下) |
C-x m |
启动 eshell |
C-x M-m |
启动默认的 shell |
C-x C-m |
和 M-x 相同 |
C-h A |
执行 apropos (在所有Emacs符号中搜索) |
M-/ |
执行 hippie-expand (dabbrev-expand 的替代品) |
C-x C-b |
打开 ibuffer (buffer-list 的替代品) |
F12 |
开/关Emacs菜单 |
C-x g |
打开 Magit 的状态缓冲 |
C-= |
执行 expand-region (递增选择文本) |
C-a |
执行 prelude-move-beginning-of-line 。关于这个命令的详细信息请查阅 这里 |
Prelude Mode
按键绑定 |
说明 |
C-c o |
用一个外部程序打开当前访问的文件 |
C-c g |
进入Google搜索 (默认搜索当前光标所在的文本) |
C-S-RET 或 M-o |
在当前行下方插入一个空行并适当的缩进 |
S-RET 或 M-O |
插入一个空行并适当的缩进 (和大多数 IDE 一致) |
C-S-up |
将当前行上移(和上一行交换) |
C-S-down |
将当前行下移(和下一行交换) |
C-c n |
修正缓冲区里的缩进,并去除多余空格 |
C-c f |
打开最近访问文件列表 |
C-M-\ |
缩进选区(如果有选择文本)或整个缓冲区 |
C-c u |
在默认浏览器中打开URL |
C-c e |
执行一段 Emacs Lisp 代码并用结果代替它 |
C-c s |
交换两个活动窗口 |
C-c d |
重制当前行(或选区) |
C-c r |
重命名当前访问的文件或缓冲 |
C-c t |
打开一个终端模拟器 (ansi-term ). |
C-c k |
关闭除了当前缓冲区外所有打开的缓冲区 |
C-c h |
打开 Helm (一个实用的buffer和工程文件导航工具) |
Projectile
下面是一系列由 Projectile 提供的功能:
按键绑定 |
说明 |
C-c p f |
列举工程里的所有文件。如果带上一个前缀参数,则会首先清空缓存。 |
C-c p d |
列举工程里的所有目录。如果带上一个前缀参数,则会首先清空缓存。 |
C-c p T |
列举工程里所有测试文档(specs, features, etc) |
C-c p g |
在工程里运行 grep |
C-c p o |
在当前打开的所有工程缓冲里执行 multi-occur |
C-c p r |
对工程里的所有文件执行交互式查找-替换 |
C-c p i |
使当前项目的缓冲无效(如果存在的话). |
C-c p R |
重新生成项目的 TAGS 文件 |
C-c p k |
关闭所有工程的缓冲 |
C-c p D |
在 dired 打开当前工程的根目录 |
C-c p e |
列举工程里最近访问的文件 |
C-c p a |
在工程里执行 ack 命令,需要 ack-and-a-half |
C-c p c |
根据你的工程类型执行一个标准的编译命令 |
C-c p p |
根据你的工程类型执行一个标准的测试命令 |
C-c p z |
增加当前访问的内容到缓存 |
C-c p s |
列举所有已知的工程项目,以方便快速切换 |
Important 如果忘记了 Projectile 的快捷键,只需要按下这个组合键:
C-c p C-h
组合键
按键绑定 |
说明 |
jj |
跳转到单词的开头(ace-jump-word-mode ) |
jk |
跳转到某一字符(ace-jump-char-mode ) |
jl |
跳转到一行的开头(ace-jump-line-mode ) |
JJ |
回退到上一个缓冲(prelude-switch-to-previous-buffer ) |
uu |
用树的方式查看编辑历史(undo-tree-visualize ) |
查找替换
常用快捷键
按键绑定 |
说明 |
C-s |
增量式查找 |
C-r |
向后增量式查找 |
M-% |
查找替换 |
C-M-% |
支持正则表达式的查找替换 |
Emacs的正则表达式符合BASIC正则表达式规范。使用正则表达式进行查找替换时有一个很有用的技巧:如果需要保留原来与pattern匹配的字符,可以使用\&
代替,例如:
将会把内容为“bc”的行替换成“-bc-”。
宏
常用快捷键
按键绑定 |
说明 |
C-x ( |
开始录制宏 |
C-x ) |
结束录制宏 |
C-x e |
执行宏,如果已经选中一个选区,则只在选区中执行宏 |
两个有用的命令
命令 |
说明 |
M-x name-last-kbd-macro |
命名上次定义的宏,之后可以直接M-x 宏名 执行它 |
M-x insert-kbd-macro |
插入一个已命名的宏,通常是在你的initialization文件里插入该宏,这样下次打开emacs后仍可用 |
有用的链接
- Emacs Ninty Tricks
- Emacs Keybindings
- Org Mode - Organize Your Life In Plain Text!