emacs cheatsheet
无插件emacs使用
~/.emacs配置
;; windows下禁止压缩字体缓存,要不然会很卡
(setq inhibit-compacting-font-caches t)
快捷键
移动光标,删除动作
快捷键 |
作用 |
C-p / C-n |
光标上/下移动一行 |
C-b / C-f |
光标左/右移动一个字符 |
M-b / M-f |
光标左/右移动一个词 |
C-a / C-e |
光标左/右移动到行首和行尾 |
C-d / del |
删除光标前字符 |
C-k |
删除光标到行尾的字符 |
M-k |
删除光标到句号的字符 |
文件和缓冲区
快捷键 |
作用 |
C-x C-f |
寻找一个文件(没有时候创建) |
C-x C-s |
保存 |
C-x C-w |
另存为 |
C-x b |
输入提示名,选择缓冲文件 |
C-x C-b |
新窗口中显示缓冲区列表 |
C-x s |
保存所有缓冲区文件 |
C-x k |
关闭缓冲区 |
复制和粘贴
快捷键 |
作用 |
C-@ / C-SPACE |
标记选择开始 |
C-w |
剪切 |
M-w |
复制 |
C-y |
从内部或者系统的剪贴板粘贴 |
M-x cua-mode |
使用常见快捷键C-c,C-v,C-x |
搜索和替换
快捷键 |
作用 |
C-s / C-r |
搜索/向前搜索 |
C-M-s / C-M-r |
正则搜索/向前正则搜索 |
M-x replace-string RET |
当前位置搜索至结尾并替换 |
M-x query-replace RET |
当前位置搜索至结尾并询问替换 |
操作窗体
快捷键 |
作用 |
C-l |
光标置于屏幕中央 |
C-v / alt -v |
下/上 翻一屏 |
C-x 1 |
关闭其他窗口,保留一个 |
C-u 0 C-l |
屏幕本行下翻到最顶端 |
C-x 2 |
分割窗口 |
C-x 3 |
垂直分割 |
M-x make-frame |
新建窗口 |
C-x o |
光标移到另一个窗格 |
其他
快捷键 |
作用 |
C-_ / C-x u |
撤销/重做 |
C-x C-c |
退出 |
C-g |
取消指令 |
C-/ |
撤销 |
org mode
快捷键
视图循环
快捷键 |
作用 |
tab |
改变当前光标子树状态 FOLDED -> CHILDREN -> SUBTREE |
S-tab |
全局循环:使整个缓冲区在下列状态中循环OVERVIEW -> CONTENTS -> SHOWALL |
C-u C-u C-u TAB |
显示全部 |
稀疏树
快捷键 |
作用 |
C-c / |
按提示选择稀疏书创建方式 |
C-c / r |
触发后,会提示输入匹配串,并且将所有匹配的项显示成稀疏树。所有的匹配项都会高亮显示;按 C-c C-c 取消高亮。 |
#### 移动 |
|
快捷键 |
作用 |
----------------- |
---------------- |
C-c C-n / C-c C-p |
下一个标题/上一个标题 |
C-c C-f / C-c C-b |
上一个同级标题 / 下一个同级标题 |
C-c C-u |
回到上一级标题 |
结构编辑
快捷键 |
作用 |
M-RET |
插入一个同级标题,在文本中则创建新的项 |
M-S-RET |
插入一个和当前标题同级的 TODO 项 |
M-LEFT / M-RIGHT |
当前标题提升/降低一个等级 |
M-S-LEFT / M-S-RIGHT |
当前标题和他的子标题全部提升/降低一个等级 |
M-S-UP / M-S-DOWN |
将当前标题上/下移动 |
C-c C-w |
传送当前条目到另一个文件 |
C-x n s/w |
将缓冲区视图局限到当前子树中/再次放宽视图 |
文本列表
Org 能够识别有序列表、无序列表和描述列表。
- 无序列表项以‘-’、‘+’或者‘*‘开头。
- 有序列表项以‘1.’、‘1)’或者开头。
- 描述列表用‘::’将项和描述分开。
快捷键 |
作用 |
TAB |
折叠项 |
M-RET |
在当前级别插入一个项,有前缀时是强制新建一个标题 |
M-S-RET |
插入一个带有复先框的项 |
M-S-UP/DOWN |
将当前项和它的子项向上/下移动。如果列表是有序的,数字会自动改变 |
M-LEFT/M-RIGHT |
提升/降低项的缩进,不包含子项 |
M-S-LEFT/RIGHT |
提升/降低项的缩进,包含子项 |
C-c C-c |
改变复选框状态 |
C-c - |
循环改变列表的标志符号 |
脚注
脚注就是以脚注定义符号开头的一段话,要求放在第0列,不能有缩进
写法:[fn:数字]
一段话中放置脚注[fn:数字]中这是引用
[fn:数字] 写一段定义放在0列,是定义
快捷键 |
作用 |
C-c C-x f |
当光标处理引用处时,跳转到它的定义。其他情况下,新建一个脚注。当有前缀时,会提供一个菜单供选择操作,其中包括重新给脚注编号。 |
C-c C-c |
在定义和引用之间跳转 |
表格
- | 被看出一个表格开始
- 当你在表格内部输入 TAB、RET 或者 C-c C-c 时表格都会自动调整
- 以’|-’开头的一行会作为一个水平分隔行
- 还有一个更快的方法就是键入|Name|Phone|Age,再 C-c RET
快捷键 |
作用 |
C-c C-c |
调整表格,不移动光标 |
tab |
调整表格,光标移动到下一个区域,或者新建一行 |
S-tab |
上一个区域 |
RET |
调整表格,光标移到下一行,必要时会新建一行 |
M-LEFT/RIGHT |
左/右移当前整列 |
M-S-LEFT |
删除当前整列 |
M-S-RIGHT |
左边增加一整列 |
M-UP/DOWN |
上/下移当前整行 |
M-S-UP |
删除当前行 |
M-S-DOWN |
在当前行上面添加一行。如果有前缀,则在下面添加一行 |
C-c - |
在当前行下面添加一个水平线。如果带前缀,则在上面添加一行水平线 |
C-c RET |
在当前行下面添加一个水平线。并将光标移动到下一行 |
C-c ^ |
将表排序。当前位置所在的列作为排序的依据。排序在距当前位置最近的两个水平线之间的行(或者整个表)中进行 |
超链接
链接
[[link]]
文本链接
[[link][description]]
内部链接
[[mytarget][description]]
对应的目标<<mytarget>>
目标链接
file:~/code/main.c::255 进入到 255 行
file:~/xx.org::My Target 找到目标‘<<My Target>>’
file:~/xx.org/::#my-custom-id 查找自定义 id 的项
快捷键 |
作用 |
C-c C-l |
插入一个链接。当光标处于链接上时,你可以修改链接 |
C-c C-o 或者 mouse-1 或者 mouse-2 |
打开链接 |
C-c & |
跳回到一个已记录的地址 |
TODO
快捷键 |
作用 |
C-c C-t / S-RIGHT/LEFT |
将当前项的状态改变 unmarked->TODO->DONE |
C-c / t |
在稀疏树中显示 TODO 项 |
S-M-RET |
在当前项下插入一个新的 TODO 项 |
C-c , |
A,B,C选择一个优先级,A最高,默认B |
S-UP/DOWN |
增加/减少当前标题的优先级 |
C-c C-c |
切换复选框状态 |
M-S-RET |
光标在文本列表项上时增加一个带有复选框的项 |
标签
快捷键 |
作用 |
C-c C-q / C-c C-c |
为当前标题输入标签 |
C-c \ |
搜索标签 |
C-c / m |
用匹配标签搜索的所有标题构造一个稀疏树 |
时间/日期段
快捷键 |
作用 |
C-c . |
插入时间 |
C-c ! |
插入未激活的时 |
S-LEFT/RIGHT |
将光标处的时间戳改变一天 |
S-UP/DOWN |
改变时间戳中光标下的项 |
C-c C-d |
在标题下面一行插入一个带有“DEADLINE”关键字的时间戳 |
C-c C-s |
标题下面插入一个带有“SCHEDULED”关键字的时间戳 |