14年的OOP课第一次接触了Emacs,5年过去水平不进反退。现在写code多了,觉得有必要整理一下常用的快捷键,一劳永逸。
基础类
移动
快捷键 |
作用 |
备注 |
C /M-v |
下/上一页 |
|
C-l |
当前行居中 |
多次按使当前行置顶/沉底 |
C-b /f |
前/后一个字母 |
|
M-b /f |
前/后一个单词 |
以空格区分,会跳过部分标点 |
C-p /n |
上/下一行 |
|
C-a /e |
行首/尾 |
|
M-a /e |
句首/尾 |
以句号/分号为界 |
M-< /> |
文件首/尾 |
需要用shift 打出来 |
特殊
快捷键 |
作用 |
备注 |
C-u <num> <cmd> |
重复<cmd> <num> 次 |
输入多个* 比较有用 |
C-g |
取消正在编辑的命令 |
|
Esc Esc Esc |
退出Recursive Level |
|
C-x-c |
关闭Emacs |
|
C-z |
保留Emacs |
|
%emacs |
恢复Emacs |
|
编辑
快捷键 |
作用 |
备注 |
C-d |
删除下一个字符 |
也可以 C-f 退格,多一个键 |
M-退格 /d |
剪切上/下一个词 |
|
C-k |
剪切这一行 |
按一次去掉内容,第二次才会去掉换行符 C-u 2 C-k 则会完全删掉两行 |
M-k |
剪切这一句 |
|
C-空格 /@ |
高亮选中 |
受输入法影响,会有bug,也可以按住 C-shift |
C /M-w |
剪切/复制选中部分 |
|
C-y |
粘贴 |
多次C-k会被一并粘贴,且可粘贴多次 |
M-y |
将粘贴内容变为上次剪切的 |
给负数可以逆向滚动 |
C-/ /_ 或 C-x u |
撤销 |
重复按可以撤销多次 按C-g 会将操作写入历史,可以redo |
搜索
快捷键 |
作用 |
备注 |
C-s /r |
向前/后查找 |
|
退格 (查找中) |
返回上一个match 或删除查找文字 |
|
回车 (查找中) |
退出搜索 |
定位到目标点 |
文件
快捷键 |
作用 |
备注 |
C-x-f |
打开/新建文件 |
|
C-x-s |
保存文件 |
|
C-x-w |
另存为 |
|
多窗口
切换
快捷键 |
作用 |
备注 |
C-x 0 |
kill当前窗口 |
|
C-x 1 |
仅保留当前窗口 |
|
C-x 2 |
当前窗口上下分裂 |
会复制当前内容 |
C-x 3 |
当前窗口横向分裂 |
|
C-x o |
切换窗口 |
|
C-M-v 或者 Esc C-v |
第二窗口翻页 |
|
C-x 4 C-f |
在新窗口打开文件 |
|
Buffer
快捷键 |
作用 |
备注 |
C-x-b |
列出所有buffer |
会新建一个窗口,可以移动过去打开 |
C-x b |
将当前窗口切换到一个buffer |
默认最近的 |
帮助
快捷键 |
作用 |
备注 |
C-h f |
查看命令帮助 |
|
C-h k <cmd> |
查看<cmd> 的帮助 |
|