emacs快捷键备忘录

1 前言

用emacs做为编辑器也有一年多时间了,常用的快捷键也越积越多,现在不比年轻时候记忆力好了,所以还是用备忘录形式记载下来,方便以后需要的时候能随时查看。 以下在emacs版本=24.5测试通过

根据使用心得,快捷键太长的话很难记住,而且在某些mode下还会发生按键冲突,不如M-x配合自动补全快,所以两者需要配合使用

2 基本功能

功能快捷键
打开/新建文件C-x C-f
保存文件C-s
另存为C-x C-w
在当前光标处插入文件C-x i
停止当前运行/输入命令C-g
重新执行minibuffer中最近的命令C-x <Esc> <Esc>
minibuffer历史命令列表M-x list-command-history
切换bufferC-x b
显示已打开buffer列表C-x C-b
关闭当前bufferC-x k
关闭emacsC-x C-c

3 窗口

需开启winner-mode和window-numbering-mode

功能快捷键
切换至上一视图C-x <left>
切换至下一视图C-x <right>
水平分割frameC-x 2
垂直分割frameC-x 3
当前窗口最大化C-x 1
关闭当前窗口C-x 0
切换至第N号窗口M-N(N为数字)

4 目录和文件

需开启dired-mode和Speedbar-mode

功能快捷键
复制文件C
删除文件待定d
立即删除文件D
删除所有标记为d的文件x
打开文件或目录<RET>
新建文件C-x C-f
刷新目录树g
用*标记m
在另一个窗口打开文件并移动光标o
重命名R
移除标记*u
显示文件内容v
压缩/解压缩文件Z
标记备份文件(文件名有~)等待删除~
标记自动保存文件(文件名有#)等待删除#
标记所有文件夹*/
移动光标至下一个用*或D标记的文件M-}
移动光标至上一个用*或D标记的文件M-{
新建文件夹+
移动光标至后一文件夹>
移动光标至前一文件夹<
切换排序模式(按文件名/日期)s
打开/关闭speedbarM-s
刷新speedbarM-r
退出diredq

5 编辑

主要涉及文本编辑等级的常用快捷键。

需开启CUA-mode

功能快捷键
全选C-x h
剪切C-x
复制C-c
粘贴C-v
撤销C-z
重做C-z C-z/C-g C-_
删除光标所在字符DEL
删除从光标至行尾所有字符C-k
设置开始标记C-<SPC>或C-@
开始矩形区域选择C-<RET>
注释代码M-;
行首C-a
行尾C-e
跳至到buffer开头M-<
跳至buffer末尾M->

6 搜索/替换

功能快捷键
向后增量搜索C-s
向前增量搜索C-r
回到搜索开始前的位置C-g
询问并替换M-%
替换当前匹配<SPC>或y
不替换当前匹配<DEL>或n
仅仅替换当前匹配并退出.
替换并暂停,(按<SPC>或y继续)
替换以下所有匹配!
回到上一匹配位置^
退出替换<RET>或q
使用正则向后搜索<ESC> C-s
使用正则向前搜索<ESC> C-r
使用正则搜索并替换M-x query-replace-regexp
显示所有当前buffer正则匹配的行列表M-x occur
显示所有buffer中正则匹配的行列表M-x multi-occur-in-matching-buffers
显示当前文件夹递归树中正则匹配的行列表M-x rgrep
显示当前文件夹中正则匹配的行列表M-x lgrep

7 正则表达式

功能快捷键
行首^
行尾$
单个字符.
任意多个字符.*
单词开头\<
单词结尾\>
任意一个字符[](例如[a-z]表示所有小写字母)

8 帮助

8.1 基础

功能快捷键
显示快捷键绑定的命令和帮助文档C-h k
显示命令被绑定的快捷键C-h w
显示函数帮助文档C-h f
显示变量帮助文档C-h v
显示当前buffer所有快捷键C-h b
打开emacs简明教程C-h t
打开当前buffer的帮助文档C-h m

8.2 info-mode

功能快捷键
打开infoC-h i
退出infoq
下一节点n
上一节点p
返回info根目录节点d
返回上一次访问节点l
撤销返回上一次访问节点r
使用正则搜索当前文件(大小写不敏感)s
使用正则搜索当前文件(大小写敏感)S
使用增量搜索在多个info节点中搜索C-s
搜索index节点并且自动跳转i
搜索index节点并且匹配结果以列表显示I
跳转至指定名称节点g
目录选择m
打开当前info文件的目录列表T
跳转至当前info文件的Top节点<
跳转至当前info文件的final节点>
在所有info中搜索指令M-x info-apropos

9 org-mode

org-mode版本=8.3.4测试通过

9.1 基础

快捷键功能
对光标所在章节展开/折叠<Tab>
展开/折叠所有章节S+<Tab>
插入当前等级标题M-<RET>
标题升级M-<left>
标题降级M-<right>

9.2 表格

快捷键功能
创建表格C-c
切换下一单元格<Tab>
在当前列前插入一列M-S-<right>
删除当前列M-x org-table-delete-column
在当前列前插入一列M-x org-table-insert-column
删除当前行M-x org-table-delete-row
在当前行前插入一行M-x org-table-insert-row
移动到下一行,或新建一行C-m
将当前行往上/下移动M-<up>/M-<down>
将当前行往左/右移动M-<left>/M-<right>
编辑当前单元格C-c `
表格重新排列C-c C-c
表格排序M-x org-table-sort-lines
Copyright (c) 2016-2020 mono - Last Updated 2016-08-12 Fri 16:38.
Render by hexo-renderer-org with Emacs 24.5.1 (Org mode 8.2.10)