Table of Contents
1 Emacs 使用
1.0.1 编码变更
- C-x <RET> f coding <RET> 变更当前buffer编码
Use coding system coding for saving or revisiting the visited file in the current buffer.
- C-x <RET> c coding <RET> 修改紧接着下一个命令的编码
Specify coding system coding for the immediately following command.
- C-x <RET> r coding <RET> 重新编码当前文件
Revisit the current file using the coding system coding.
- M-x recode-region <RET> right <RET> wrong <RET> 转换代码区域编码
Convert a region that was decoded using coding
1.0.2 Bookmark
- C – x r m 设置书签。(bookmark-set)
- C – x r b 跳到书签。(bookmark-jump)
管理书签: M – x list-bookmarks : 在当前窗口里列出所有书签。 按1或ret跳转到光标所在的书签里。d标记删除,x执行操作。u(for undelete)。r重命名书签。
1.0.3 窗口与缓冲区操作
操作 | 说明 |
---|---|
C-x C-f | “find”文件, 即在缓冲区打开/新建一个文件 |
C-x C-v | 关闭当前缓冲区文件并打开新文件 |
C-x i | 在当前光标处插入文件 |
C-x b | 新建/切换缓冲区 |
C-x C-b | 显示缓冲区列表 |
C-x k | 关闭当前缓冲区 |
kill-some-buffers | 关闭其他缓冲区 |
(global-set-key (kbd “C-x 4 /”) ‘winner-undo) | 撤销重做窗口操作 |
(global-set-key (kbd “C-x 4 .”) ‘winner-redo) | |
(global-set-key (kbd “M-p”) ‘ace-window) | 窗口快速跳转 |
C-x 2/3 | 水平/垂直切分当前窗口 |
C-x 1 | 关闭其他窗口 |
C-x 0 | 关闭当前子窗口 |
C-M-v (scroll-other-window) | 滚动下一个窗口 |
操作 | 说明 |
C-x 4 b bufname (switch-to-buffer-other-window) | 在另一个窗口打开缓冲 |
C-x 4 C-o bufname (display-buffer) | 在另一个窗口打开缓冲,但不选中那个窗口 |
C-x 4 f filename (find-file-other-window) | 在另一个窗口打开文件 |
C-x 4 d directory (dired-other-window) | 在另一个窗口打开文件夹 |
C-x 4 m (mail-other-window) | 在另一个窗口写邮件 |
C-x 4 r filename (find-file-read-only-other-window) | 在另一个窗口以只读方式打开文件 |
操作 | 说明 |
C-x ^ | enlarge-window增高当前窗口 |
C-x { | shrink-window-horizontally将当前窗口变窄 |
C-x } | enlarge-window-horizontally将当前窗口变宽 |
C-x – | shrink-window-if-larger-than-buffer如果窗口比缓冲大就缩小 |
C-x + | balance-windows 所有窗口一样高 |
C-x C-s | 保存文件 |
C-x w 上下左右
1.0.4 格式化
C-M-\
1.0.5 基本快开/新建一个文件
C-x C-s | 保存文件 |
C-x C-w | 使用其他文件名另存为文件 |
C-z | 挂起emacs |
C-x C-c | 关闭emacs |
1.0.6 光标移动基本快捷键(Basic Movement)
C-f | 后一个字符 |
C-b | 前一个字符 |
C-p | 上一行 |
C-n | 下一行 |
M-f | 后一个单词 |
M-b | 前一个单词 |
C-a | 行首 |
C-e | 行尾 |
C-v | 向下翻一页 |
M-v | 向上翻一页 |
M-< | 到文件开头 |
M-> | 到文件末尾 |
1.0.7 编辑(Editint)
M-n | 重复执行后一个命令n次 |
C-u | 重复执行后一个命令4次 |
C-u n | 重复执行后一个命令n次 |
C-d | 删除(delete)后一个字符 |
M-d | 删除后一个单词 |
Del | 删除前一个字符 |
M-Del | 删除前一个单词 |
C-k | 移除(kill)一行 |
C-Space | 设置开始标记 (例如标记区域) |
[email protected] | 功能同上, 用于C-Space被操作系统拦截的情况 |
C-w | 移除(kill)标记区域的内容 |
M-w | 复制标记区域的内容 |
C-y | 召回(yank)复制/移除的区域/行 |
M-y | 召回更早的内容 (在kill缓冲区内循环) |
C-x C-x | 交换光标和标记 |
C-t | 交换两个字符的位置 |
M-t | 交换两个单词的位置 |
C-x C-t | 交换两行的位置 |
M-u | 使从光标位置到单词结尾处的字母变成大写 |
M-l | 与M-u相反 |
M-c | 使从光标位置开始的单词的首字母变为大写 |
1.0.8 重要快捷键(Important)
C-g | 停止当前运行/输入的命令 |
C-x u | 撤销前一个命令 |
M-x revert-buffer RETURN | (照着这个输入)撤销上次存盘后所有改动 |
M-x recover-file RETURN | 从自动存盘文件恢复 |
M-x recover-session RETURN | 如果你编辑了几个文件, 用这个恢复 |
1.0.9 在线帮助(Online-Help)
C-h c | 显示快捷键绑定的命令 |
C-h k | 显示快捷键绑定的命令和它的作用 |
C-h l | 显示最后100个键入的内容 |
C-h w | 显示命令被绑定到哪些快捷键上 |
C-h f | 显示函数的功能 |
C-h v | 显示变量的含义和值 |
C-h b | 显示当前缓冲区所有可用的快捷键 |
C-h t | 打开emacs教程 |
C-h i | 打开info阅读器 |
C-h C-f | 显示emacs FAQ |
C-h p | 显示本机Elisp包的信息 |
1.0.10 搜索/替换(Seach/Replace)
快捷键 | 说明 |
---|---|
C-s | 向后搜索 |
C-r | 向前搜索 |
C-g | 回到搜索开始前的位置(如果你仍然在搜索模式中) |
M-c | (查找状态)切换大写敏感 |
C-j | (查找状态)输入换行符 |
M-Tab | (查找状态)自动匹配 |
C-w | (查找状态)将光标处单词复制到查找区域 |
C-y | (查找状态)将光标处直到行尾内容复制到查找区域 |
M-y | (查找状态)把kill 环中最后一项复制到查找区域 |
C-M-w | (查找状态)删除查找区域最后一个字符 |
C-M-y | (查找状态)将光标处字符复制到查找区域最后 |
C-f | (查找状态)将光标处字符复制到查找区域最后 |
replace-string | 全文替换 |
replace-regexp | 全文正则替换 |
M-% | 询问并替换(query replace) |
Space或y | 替换当前匹配 |
Del或n | 不要替换当前匹配 |
. | 仅仅替换当前匹配并退出(替换) |
, | 替换并暂停(按Space或y继续) |
! | 替换以下所有匹配 |
^ | 回到上一个匹配位置 |
RETURN或q | 退出替换 |
使用正则表达式(Regular expression)搜索/替换
可在正则表达式中使用的符号: | 说明 |
---|---|
C-M-s | 向前进行正则查找 |
C-M-r | 向后进行正则查找 |
M-x query-replace-regexp | 使用正则表达式搜索并替换 |
^ | 行首 |
$ | 行尾 |
. | 单个字符 |
.* | 任意多个(包括没有)字符 |
\< | 单词开头 |
\> | 单词结尾 |
[] | 括号中的任意一个字符(例如[a-z]表示所有的小写字母) |
M C-s RETURN | 使用正则表达式向后搜索 |
M C-r RETURN | 使用正则表达式向前搜索 |
recursive-edit | 进入递归编辑 |
abort-recursive-edit | 退出递归编辑 |
1.0.11 宏命令(Macro-commands)
C-x ( | 开始定义宏 |
C-x ) | 结束定义宏 |
C-x e | 运行最近定义的宏 |
M-n C-x e | 运行最近定义的宏n次 |
M-x name-last-kbd-macro | 给最近定义的宏命名(用来保存) |
M-x insert-kbd-macro | 将已命名的宏保存到文件 |
M-x load-file | 载入宏 |
1.0.12 编程(Programming)
M C-\ | 自动缩进光标和标记间的区域 |
M-m | 移动光标到行首第一个(非空格)字符 |
M-^ | 将当前行接到上一行末尾处 |
M-; | 添加缩进并格式化的注释 |
C, | C++和Java模式 |
M-a | 移动光标到声明的开始处 |
M-e | 移动光标到声明的结尾处 |
M C-a | 移动光标到函数的开始处 |
M C-e | 移动光标到函数的结尾处 |
C-c RETURN | 将光标移动到函数的开始处并标记到结尾处 |
C-c C-q | 根据缩进风格缩进整个函数 |
C-c C-a | 切换自动换行功能(toggle-truncate-lines) |
C-c C-d | 一次性删除光标后的一串空格(greedy delete) |
C-x C-e | 执行光标处命令 |
1.0.13 版本控制(Version Control)
C-x v d | 显示当前目录下所有注册过的文件(show all registered files in this dir) |
C-x v = | 比较不同版本间的差异(show diff between versions) |
C-x v u | 移除上次提交之后的更改(remove all changes since last checkin) |
C-x v ~ | 在不同窗格中显示某个版本(show certain version in different window) |
C-x v l | 打印日志(print log) |
C-x v i | 标记文件等待添加版本控制(mark file for version control add) |
C-x v h | 给文件添加版本控制文件头(insert version control header into file) |
C-x v r | 获取命名过的快照(check out named snapshot) |
C-x v s | 创建命名的快照(create named snapshot) |
C-x v a | 创建gnu风格的更改日志(create changelog file in gnu-style) |
2 Gnus 新闻组
2.1 M-x gnus启动
2.2 快捷键
2.2.1 订阅
- A A (连续两次大写A),进入新闻组列表
- 选择要订阅的新闻组主题,使用u键订阅
- 退出 q
2.2.2 刷新
g
2.2.3 阅读
-Server buffer 按 ^ 进入 -回车进入定阅的新闻组 -使用空格阅读主题,并且空格可以翻页 -发新帖 a -跟贴 f -单独回信 r -标记所有的贴子为已读 Z C -获得旧贴子 / o
2.2.4 管理信箱
·刷新 g ·写信 m ·发信 C-c C-c ·保存草稿 C-x s ·关闭信 C-c C-d ·查看已读邮件 / o
2.2.5 其他快捷键
一、buffer操作。 1、 C-k 删除目前的一个组 C-y 吐出最后删除的一个组 C-x C-t 交换两个组 C-w kill region中的group
G n 新建一个group(加入新闻组较简单方法,但不能写入.gnus.el) G c 修改一个group的参数 G f 建立一个文件group(可以用来读取mbox文件或者读fetchmail的文件) G d 建立一个目录group
M-# 反标记一个group
T n 新建一个topic(分组目录) T r 重命名一个topic
g 检查是否有新的信息 M-g 检查当前组是否有新信息
二、Mark操作 !? 设置标志 d 删除标志 k 设置同一主题artical为已读
三、Limiting操作 /s 按主题 /a 按作者 /s 按headers /v 按分数 /t 按天数 /o 显示旧信息
四.邮件操作 C-c C-a 插入附件 K-o 保存附件 C-x i 插入文件
3 Dired 文件管理
- 用dired打开当前目录: C-x d
- dired中进入编辑模式: C-x C-q,可用于批量重命名
- 返回当前目录: C-x C-j
- 文件预览: v预览,q退出
- 回到上一步的目录: q
- 回到上一层目录: ^
- 简单帮助: ?
- 一般情况下前缀C-u代表反操作,可加数量
3.1 文件的定位
- n: 移动至下一个文件或目录。
- p: 移动至上一个文件或目录。
- >: 移动至下一个目录。
- <: 移动至上一个目录。
- ^: 返回上一级。
- M-{: 向下查看已标记。
- M-}: 向上查看已标记。
3.2 文件的查看
- s: 切换名称/日期排序方式
- C-u s: 用ls进行排序,例如t-时间;S-大小;r-倒序;R-递归;X-扩展名;u-上次访问时间
- i: 当前窗口插入一个子目录,C-u [email protected]返回
- v: 在当前窗口预览选定文件,q退出
- o: 在另外一个窗口查看文件
- y: 查看当前文件类型
- =: 比较文件,类似shell下diff
- M – =: 比较文件和备份
- M – o: 隐藏/显示部分次要文件,使缓冲更简便,若有前缀参数标记隐藏的文件 [ux]
- $: 隐藏/显示当前目录中内容
- M – $: 隐藏/显示缓冲中所有目录内容
- k: 隐藏文件,按 g 可以再显示出来
- l: 刷新缓冲文件
- g: 刷新缓冲所有文件
3.3 文件的标记
- 普通标记:
- m: 标记(mark).
- u: 取消标记
- M-Backspace: 去掉缓冲中所有的某个标记,缺省为 * 标记
- U: 取消所有标记
- */: 标记所有文件夹
- * s: 标记所有文件
- **: 标记所有可执行文件
- *@: 标记所有符号链接
- *c: 改变标记的符号
- %m: 标记文件名匹配正则表达式的文件
- %g: 标记文件内容匹配正则表达式的文件
- *.: 标记所有指定扩展名的文件
- *? MARKCHAR 或 M-<DEL> 去除所有以 MARKCHAR(例如 *) 标记的文件的标记,如果 传递一个前缀参数,则会对每一个文件要求你确认是否去除标记。
- t 标记反选,即所有原来标记为 * 的文件被置于未标记状态,原来未标记的 文件被标记为 * ,原来有其他标记的文件不受影响。
- * c OLD-MARKCHAR NEW-MARKCHAR 将默认的*标记换成其他标记
- 删除标记:
- d: 标记为删除
- ~: 将所有备份文件标记为删除
- #: 将存盘文件标记为删除
- & d: 根据正则表达式标记删除
- X: 执行删除
3.4 其他操作
- C: 拷贝文件
- D: 删除文件
- R: 重命名或移动文件
- H: 创建硬链接。
- S: 创建软链接。
- M: 修改权限位,即 shell 里面的 chmod 命令。
- G: 修改文件所属的组。
- O: 修改文件的所有者。
- T: 修改文件的修改时间,类似于 shell 命令 touch 。
- P: 打印文件。
- Z: 压缩或解压文件。
- L: 把 Elisp 文件加载进 Emacs 。
- B: 对 Elisp 文件进行 Byte compile 。
- A: 对文件内容进行正则表达式搜索,搜索会在第一个匹配的地方停下,然后 可以使用 M-, 搜索下一个匹配。
- Q: 对文件内容进行交互式的正则表达式替换。
- w: 复制文件名
- C-u 0 w: 复制选中文件的绝对路径
- +: 创建目录
- %u 和 %l: 重命名选中文件为大写、小写
- %R: 根据正则批量重命名
- %C: 根据正则批量复制
4 Erc 中继聊天
4.1 频道
- #emacs
- #ubuntu-cn
- irc.mindforge.org:6669
- ircchat.emule-project.net:6669 #emule-chinese #china
4.2 操作
/msg nickserv help | 注册 nickname |
/nick 名字 | 改名字 |
/names [频道] | 查看当前[频道]所有用户 |
/whois 名字 | 查看某人资料 |
/whoami | 自己 |
/who ip | 常看某IP登录的所有用户 |
/Who channel | 显示此频道的人 |
/Who * | 显示参加当前频道的人 |
/join #房间名 | 加入这个房间,如果房间不存在,服务器可能会创建这个房间 |
/part #房间名 原因 | 离开房间,并留下原因 |
/quit 退出的原因 | 退出服务器,并留下原因 |
/away 原因 | 暂时离开,并留下原因 |
/invite 昵称 #房间名 | 邀请某人到指定房间 |
/kick #房间名 昵称 原因 | 剔出某人,附上原因,需要权限 |
/topic #房间名’ 房间主题 | 如果你是房间主持人,可以改变房间的主题 |
/me 您要作的动作 | 向当前聊天室中发送一个动作 (动作使用第三人称陈述,例如 /me jumps) |
/msg 昵称(或#房间) 有要说的话 | 向某人发信息 |
/query 昵称 要说的话 | 私聊 |
/notice 昵称(或#房间名) 要说的话 | |
/list | 查看服务器上所有房间及主题 |
/list #ubuntu-cn | 列出这个房间 |
/list -MIN a -MAX b | 查看人数大于a小于b的房间 |
/list * abc * | 所有行abc字符串的房间 |
/flush | 终止当前命令的输出操作 |
/help | 显示所有IRC命令 |
/join | 加入/建立聊天室 |
/leave channel | 离开某一频道 |
/mode +(-)i | 锁住聊天室 |
/mode +(-)o | 设定管理员权限 |
/knock | 要求进入私人聊天室 |
/invite | 邀请用户进入私人聊天室 |
/privmsg | 悄悄话 |
/ignore | 忽略 |
/topic | 更换聊天室主题 |
/kick | 把用户踢出聊天室 |
/quit | 退出聊天室 |
5 w3m
6 org-mode
6.1 多状态工作流程
- 定义工作状态
(setq org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d)") (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)") (sequence "|" "CANCELED(c)")))
#+TODO: TODO(t) | DONE(d) #+TODO: REPORT(r) BUG(b) KNOWNCAUSE(k) | FIXED(f) #+TODO: | CANCELED(c)
C-c c-t 快速选择
- 进度日志 插入完成时间 (setq org-log-done ‘time) 插入完成时间与记录 (setq org-log-done ‘note)
- 跟踪TODO状态变化 对于状态记录,Org 可以实现基于每个状态关键字的设置。实现方法是在每个后的括号中指定“!”(记录时间戳)或“@”(作一个记录)。例如:
#+TODO: TODO(t) WAIT([email protected]/!) | DONE(d!) CANCELED([email protected])
- 优先级 Org模式支持三个优先级别:’A‘、’B‘和’C‘。’A‘是最高级别,如不指定,’B‘是默认的。优先级只在议程中有用。
C-c , 设置当前标题的优先级。按’‘’‘’‘选择一个级别,或者SPC删除标记(cookie)。 S-UP S-Down 增加/减少当前标题的优先级。 - [] 任务细分
- 在标题的任何地方插入‘
[/]
’或者‘[%]
’,可显示todo项完成数或百分比 - 非列表标题项可在开头用[ ](未完成)或[X](完成)或[-](部分完成)加空格开头标记完成,C-c C-c切换完成状态
6.2 文件链接存储与使用
- M-x org-store-link 保存链接
- C-c C-l 创建链接
- C-c C-o org-open-at-point 打开链接
- C-c % 记录内部链接地址
- C-c & 跳转到已记录的内部链接
6.3 任务状态
- S-LEFT S-RIGHT切换
- C-c C-t完成
6.4 日历视图
- C-c a n 打开日历
- C-c C-s 开始时间
- C-c C-d 截止时间
6.5 周期性的任务
如果是每周四都开会,就改写成如下的样子:
1w表示每周,另外1d表示每天,1m表示每月。对于周期性的任务, C-c C-t 每次将开始日期修改为相应的下一次开始日期,并保持 TODO 状态不变。 通常情况下,任务开始日期总是严格地按照预定间隔变动,但是当我们需要忽略掉已经过期的日期时,就可以使用 + 或者 . 来修饰时间间隔,如
的下一次日期一定是今天之后的第一个星期四,而
的下一次日期是按今天算起的下一个星期,也就是说,不一定是星期四;如果今天是星期二,那么下一次开始日期就是星期二。
6.6 记录工作时间
C-c C-x C-i | 开始当前条目的计时(clock-in)。这会插入一个 CLOCK 关键字和一个时间戳。加上 C-u 前缀,从当前已经计时的任务中选择任务。 |
C-c C-x C-o | 停止计时(clock-out)。这会在开始计时的地方插入另一个时间戳。它会直接计算使用时间并插入到时间段的后面如 “=> HH:MM”。 |
C-c C-x C-e | 为当前的计时任务更新进度。 |
C-c C-x C-x | 取消当前的计时。当你误操作打开一个计时时,或者转而去做其他事情时,这个命令就很有用。 |
C-c C-x C-j | 跳转到包含当前正在运行的计时的任务条目。用 C-uf前缀从当前计时的任务中选择。 |
C-c C-x C-r | 在当前文件插入一个包含像 Org 表格一样的计时报告的动态块。当光标正处于一个存在的块上时,更新它。 |
C-c C-c | 在一个已经存在的计时表格之上时,更新它。 更新动态块。光标需要置于动态块 #+BEGIN 这行。 |
6.7 样式
*加粗* 加粗 /倾斜/ 倾斜 _下划线_ 下划线 n^{2} 上标 n_{2} 下标
6.8 抽屉
开头加上#+DRAWERS: HIDDEN 抽屉内容以 :HIDDEN: ... :END: 包裹起来 则除非在抽屉当行按tab,抽屉永远收起
6.9 标签使用
- C-c C-q 为当前标题输入标签,回车之后,标签会被插入,并放到第 org-tags-column 列。
如果用前缀 C-u,会把当前缓冲区中的所有标签都对齐到那一列。
- C-c \ 搜索指定标签名
- C-c / m 用匹配标签搜索的所有标题构造一个稀疏树
带前缀参数C-u时,忽略所有是 TODO 的标题
6.10 标签搜索
KEYS | COMMENT |
---|---|
C-c \ | 按tag搜索标题 |
C-c / m | 搜索并按树状结构显示 |
C-c a m | 按标签搜索多个文件(需要将文件加入全局agenda) |
可以使用逻辑表达式限制条件,更准确灵活的搜索
+ 和 a+b 同时有这两个标签 - 排除 a-b 有 a 但没有 b | 或 a|b 有 a 或者有 b & 和 a&b 同时有 a 和 b,可以用“+”替代
在查询视图中 C-c C-c 退出
6.11 脚注
脚注就是以脚注定义符号开头的一段话,脚注定义符号是将脚注名称放在一个方括号里形成的,要求放在第0列,不能有缩进。而引用就是在正文中将脚注名称用方括号括起来。
C-c C-x f | 这是一个移动命令。当光标处理引用处时,跳转到它的定义;当光标处理定义处时,跳转到第一个引用处。其他情况下,新建一个脚注。当有前缀时,会提供一个菜单供选择操作,其中包括重新给脚注编号。 |
C-c C-c | 在定义和引用之间跳转 |
6.12 大纲
- 大纲间移动
操作 | 说明 |
---|---|
C-c C-n/p | 移动到下上一个标题(不管标题是哪一级) |
C-c C-f/b | 移动到同一级别的下/上标题 |
C-c C-u | 跳到上一级标题 |
C-c C-j | 切换到大纲预览状态 |
快捷键 | 说明 |
M-RET | 插入一个同级标题 |
M-S-RET | 插入一个同级TODO 标题 |
M-LEFT/RIGHT | 将当前标题升/降级 |
M-S-LEFT/RIGHT | 将子树升/降级 |
M-S-UP/DOWN | 将子树上/下移 |
C-c * | 将本行设为标题/正文 |
C-c C-w | 将子树或区域移动到另一标题处(跨缓冲区) |
C-x n s/w | 只显示当前子树/返回 |
C-c C-x b | 在新缓冲区显示当前分支(类似C-x n s) |
C-c / | 只列出包含搜索结果的大纲,并高亮,支持多种搜索方式 |
C-c C-c | 取消高亮 |
6.13 列表操作
- 列表操作快捷键
为了便利,org-mode也支持很多列表操作的快捷键,大部分都与大纲的快捷键类似:
快捷键 | 说明 |
---|---|
TAB | 折叠列表项 |
M-RET | 插入项 |
M-S-RET | 插入带复选框的项 |
M-S-UP/DOWN | 移动列表项 |
M-LEFT/RIGHT | 升/降级列表项,不包括子项 |
M-S-LEFT/RIGTH | 升/降级列表项,包括子项 |
C-c C-c | 改变复选框状态 |
C-c – | 更换列表标记(循环切换) |
6.14 表格
- 创建和转换表格
快捷键 | 说明 |
---|---|
C-c 竖线 | 创建或转换成表格 |
快捷键 | 说明 |
C-c C-c | 调整表格,不移动光标 |
TAB | 移动到下一区域,必要时新建一行 |
S-TAB | 移动到上一区域 |
RET | 移动到下一行,必要时新建一行 |
快捷键 | 说明 |
M-LEFT/RIGHT | 移动列 |
M-UP/DOWN | 移动行 |
M-S-LEFT/RIGHT | 删除/插入列 |
M-S-UP/DOWN | 删除/插入行 |
C-c – | 添加水平分割线 |
C-c RET | 添加水平分割线并跳到下一行 |
C-c ^ | 根据当前列排序,可以选择排序方式 |
C-c = | 编辑行计算公式 |
C-u C-c = | 编辑列计算公式 |
C-u C-c C-c | 计算整个表格 |
@5=vsum(@[email protected]) | 第5排的值为第一个与第二个分割线之间的数之和 |
$4=vsum($1..$3) | 第4列的值为第1列到第3列的值之和 |
6.15 设置标记
- #+TITLE:Emacs 笔记
- #+AUTHOR: Hoothin
- #+DATE: 1949年10月1日
- 左右缩进引用
#+BEGIN_QUOTE #+END_QUOTE
- 文本居中
#+BEGIN_CENTER #+END_CENTER
- 包含其他文件
#+INCLUDE: "~/.emacs" src emacs-lisp
- 行内代码
=#include <stdio.h>= 或者 ~#include <stdio.h>~
- 单行代码
: include <stdio.h> #单行代码块
- 引用代码
#+begin_src xxx ……#+end_src
- 支持语言
语言 | 标识符 |
---|---|
Asymptote | asymptote |
Awk | awk |
Emacs Calc | calc |
C | C |
C++ | C++ |
Clojure | clojure |
CSS | css |
ditaa | ditta |
Graphviz | dot |
Emacs Lisp | emacs-lisp |
gnuplot | gnuplot |
Haskell | haskell |
Java | java |
Javascript | js |
LaTeX | latex |
Ledger | ledger |
Lisp | lisp |
Lilypond | lilypond |
MATLAB | matlab |
Mscgen | mscgen |
Objective Caml | ocaml |
Octave | octave |
Org mode | org |
Oz | oz |
Perl | perl |
Plantuml | plantuml |
Python | python |
R | R |
Ruby | ruby |
Sass | sass |
Scheme | scheme |
GNU Screen | screen |
shell | sh |
SQL | sql |
SQLite | sqlite |
- 引用html
#+BEGIN_HTML <pre class="lang:xxx"> …… </pre> #+end_html
6.16 属性
通过设置属性 “:Xyz_ALL:” ,你可以为属性 “:Xyz:” 设置所有 合法值 。这个特定的属性是有继承性的,即,如果你是在第 1 级别设置的,那么会被应用于整个树。当合法的值设定之后,设置对应的属性就很容易了,并且不容易出现打字错误。 例:
* CD collection :PROPERTIES: :NDisks_ALL: 1 2 3 4 :Publisher_ALL: "Deutsche Grammophon" Philips EMI :END:
快捷键
C-c C-x p | 设置一个属性。会询问属性名和属性值。 |
C-c C-c d | 从当前项中删除一个属性。 |
6.17 归档
C-c C-x C-a | 用变量 orgarchive-default-command 指定的命令归档当前的项。 |
C-c C-x C-s | 或者简化为 C-c $ 将光标处的子树归档至 org-archive-location 指定的位置。 |
6.18 发布
命令 | 说明 |
---|---|
C-c C-e C | 提示指明一个项目,将所有的文件发布 |
C-c C-e P | 发布包含当前文件的项目 |
C-c C-e F | 只发布当前文件 |
C-c C-e E | 发布所有项目 |
6.19 导出选项
- #+TITLE: the title to be shown (default is the buffer name)
- #+AUTHOR: the author (default taken from `user-full-name’)
- #+DATE: a date, fixed, of a format string for `format-time-string’
- #+EMAIL: his/her email address (default from `user-mail-address’)
- #+DESCRIPTION: the page description, e.g. for the XHTML meta tag
- #+KEYWORDS: the page keywords, e.g. for the XHTML meta tag
- #+LANGUAGE: language for HTML, e.g. `en’ (`org-export-default-language’)
- #+TEXT: Some descriptive text to be inserted at the beginning.
- #+TEXT: Several lines may be given.
- #+OPTIONS: H:2 num:t toc:t \n:nil @:t ::t |:t ^:t f:t TeX:t …
- #+BIND: lisp-var lisp-val, e.g.: org-export-latex-low-levels itemize You need to confirm using these, or configure `org-export-allow-BIND’
- #+LINK_UP: the “up” link of an exported page
- #+LINK_HOME: the “home” link of an exported page
- #+LATEX_HEADER: extra line(s) for the LaTeX header, like \usepackage{xyz}
- #+EXPORT_SELECT_TAGS: Tags that select a tree for export
- #+EXPORT_EXCLUDE_TAGS: Tags that exclude a tree from export
其中#+OPTIONS可以指定选项有:
- H: set the number of headline levels for export
- num: turn on/off section-numbers
- toc: turn on/off table of contents, or set level limit (integer)
- \n: turn on/off line-break-preservation
- @: turn on/off quoted HTML tags
- :: turn on/off fixed-width sections
- |: turn on/off tables
- ^: turn on/off TeX-like syntax for sub- and superscripts. If you write “^:{}”, `ab‘ will be interpreted, but the simple `a_b’ will be left as it is.
- -: turn on/off conversion of special strings.
- f: turn on/off footnotes like this[ 1].
- todo: turn on/off inclusion of TODO keywords into exported text
- pri: turn on/off priority cookies
- tags: turn on/off inclusion of tags, may also be `not-in-toc’
- <: turn on/off inclusion of any time/date stamps like DEADLINES
- *: turn on/off emphasized text (bold, italic, underlined)
- TeX: turn on/off simple TeX macros in plain text
- LaTeX: turn on/off LaTeX fragments
- skip: turn on/off skipping the text before the first heading
- author: turn on/off inclusion of author name/email into exported file
- creator: turn on/off inclusion of creator info into exported file
- timestamp: turn on/off inclusion creation time into exported file
- d: turn on/off inclusion of drawers
6.20 org2blog
M-x org2blog/wp-login | 会提示你要登陆哪个 blog |
M-x org2blog/wp-new-entry | 会使用设置的 template 打开一个 buffer |
M-x org2blog/wp-post-buffer | 保存成 draft |
M-x org2blog/wp-post-buffer-and-publish | 真实发布 |
7 Calendar
7.1 更改当前日期
q | 退出calendar模式 |
C-f | 让当前日期向前一天,前加数字可指定天数,下同 |
C-b | 让当前日期向后一天 |
C-n | 让当前日期向前一周 |
C-p | 让当前日期向后一周 |
M-} | 让当前日期向前一个月 |
M-{ | 让当前日期向后一个月 |
C-x ] | 让当前日期向前一年 |
C-x [ | 让当前日期向后一年 |
C-a | 移动到当前周的第一天 |
C-e | 移动到当前周的最后一天 |
M-a | 移动到当前月的第一天 |
M-e | 多动到当前月的最后一天 |
M-< | 移动到当前年的第一天 |
M-> | 移动到当前年的最后一天 |
7.2 移动到特珠日期的方式
g d | 移动到一个特别的日期 |
o | 使某个特殊的月分作为中间的月分 |
. | 移动到当天的日期 |
p d | 显示某一天在一年中的位置,也显示本年度还有多少天。 |
C-c C-l | 刷新Calendar窗口 |
7.3 生成LATEX代码
t m | 按月生成日历 |
t M | 按月生成一个美化的日历 |
t d | 按当天日期生成一个当天日历 |
t w 1 | 在一页上生成这个周的日历 |
t w 2 | 在两页上生成这个周的日历 |
t w 3 | 生成一个ISO-SYTLE风格的当前周日历 |
t w 4 | 生成一个从周一开始的当前周日历 |
t y | 生成当前年的日历 |
7.4 配置节日
h | 显示当前的节日 |
x | 定义当天为某个节日 |
u | 取消当天已被定义的节日 |
e | 显示所有这前后共三个月的节日。 |
M-x holiday | 在另外的窗口的显示这前后三个月的节日。 |
7.5 特殊命令
S | 显示当天的日出日落时间(大写) |
p C | 显示农历可以使用 |
g C | 使用农历移动日期可以使用 |
7.6 创建事件
d | 显示被选中的日期的所有事件 |
s | 显示所有事件,包括过期的,未到期的等等 |
i d | 为当天日期添加一个事件 |
i w | 为当天周创建一个周事件 |
i m | 为当前月创建一个月事件 |
i y | 为当前年创建一个年事件 |
i a | 为当前日期创建一个周年纪念日 |
i c | 创建一个循环的事件 |