Emacs Org-mode 3 表格
Org 使用内置的表格编辑器。可以进行简单的表格编写和计算。 Org中的表格 第一个非空字符“|” 视为表格的起始位置,后面的“|” 视为字段分隔符。
3.1 生成表格
编写表格时,可以将字段先写好,以“|”开头和分隔,如: |Name|Phone|Age| 然后 C-c RET, 然后会在下一行新增两行,一行类似结构“|—+—|”,导出时为一条横线,另一行以“|”开头和分隔,为新一行表格结构。 自动生成如下格式。 C-c RET 在任意一行都可以使用。都是相同的效果。
| name | phone | age |
|------+-------+-----|
| | | |
3.2 为表格添加说明
在表格上方,我们可以为表格添加说明。格式如下:
#+caption: 表格说明
3.3 操作说明
| 操作 | 说明 | |
|---|---|---|
| C-c | | 生成表格,在buffer区域会提示输入N*M,代表N列M行的表格 | |
| |- TAB | 生成一行 |—+----| 结构 | |
| C-c C-c | org-table-align | 表格对齐 |
| TAB | 从左到右,光标从前一个字段跳到下一个字段 | |
| S+TAB | 从右到左,光标从后一个字段跳到前一个字段 | |
| RET | 光标移动到下一行。如果下一行还没有表格结构,则新增一行 |
| 操作 | 命令 | 说明 |
|---|---|---|
| C-c space | org-table-blank-field | 清空当前格 |
| M-a | org-table-beginning-of-field | 移动到当前表格的第一个格,或者移动前到一个格 |
| M-e | org-table-end-of-field | 光标移动到当前格的尾部或者移到下一格的尾部。 |
| M-left | org-table-move-column-left | 向左移动当前列,如果快捷键效果不对,可以使用前面的命令 |
| M-right | org-table-move-column-right | 向右移动当前列,如果快捷键效果不对,可以使用前面的命令 |
| M-S-left | org-table-delete-column | 删除光标所在列。如果快捷键效果不对,可使用前面命令 |
| M-S-rigth | org-table-delete-column | 在光标所在位置插入一列,如果快捷键效果不对,可使用命令 |
| M-up | org-table-move-row-up | 将光标所在行向上移一列。即与上一行替换位置 |
| M-down | org-table-move-row-down | 将光标所在行与下一行互换位置。 |
| M-S-up | org-table-kill-row | 删除当前行 |
| M-S-down | org-table-insert-row | 插入一行 |
| C-c - | org-table-insert-hline | 在下一行插入 |---- |
| CC | ||
| C-c RET | org-table-hline-and-move | 添加一行 |–+--\vert结构 并新增一行表格 |
| C-c ^ | org-table-sort-lines | 将最近的两条横线之间的区域进行排序,或者是整张表。如果光标在第一 |
| 个格之前,则会提示输入要排序的列。命令方式,会提示排序方式: | ||
| alphabetically,numberically,or by time.可以升序或者降序排列,也可 | ||
| 以按照自己想要的规则,比如提供给org一个处理函数。大小写严格区分 | ||
| 操作 | 命令 | 说明 |
|---|---|---|
| C-c C-x M-w | org-table-copy-region | 复制一个长方形区域至Emacs剪切版。长方形的范围由光标和mark标记来确定 |
| C-c C-x C-w | org-table-cute-region | 剪切一个长方形区域至Emacs剪切版。 |
| C-c C-x C-y | org-table-paste-rectangle | 按原有的列数与行数粘贴一个长方形区域至表中。此操作,忽略横向分隔线。 |
| 如果表格行列数不足,则自动补充。 | ||
3.4 表格格式化
设置字符位置 字段中字符的位置有偏左,偏右,居中。 在表示一个表格的两个'|' 之间使用<c|r|l> 来表示,其中c 代表center,r 代表right,l代表left 示例:
|<c> |<l> |<r> |
|----+----+----|
|居中|居左|居右|设置单个表格宽度 宽度指的是字符数,表格中的一列中单行显示最大字符数。比如<4>代表该列,每行最多显示4个字符,如果超过4个字符会 被隐藏。
|<4> |<2>|<10>|
|----+---+----|
| | | |要查看被自动隐藏的字符怎么办呢?光标移动格内,输入C-c `, 会打开一个buffer,在这个buffer 内可以查看完整内容, 也可以进行编辑。编辑结束,使用C-c C-c 结束编辑和查看。
3.5 表格计算
示例:
1: | 数量 | 单价 | 总价 |
2: | <c> | <c> | <c> |
3: |------+------+------|
4: | 6 | 18 | |
5: | 5 | 19 | |
6: | 4 | 20 | |
7: | 3 | 21 | |
8: | 2 | 22 | |
9: | 1 | 23 | |
10: #+TBLFM: $3=$1*$2::@6$3=$2-$1::@4$3=$1+$2
数值的计算,需要在表格下方使用标签 #+TBLFM: ,标签后写说明方法:
'$' 代表列
'@' 代表行
'::' 当有多个表达式时,使用两个冒号进行分隔
将表达式应用到表格中,使用快捷键: C-ucc . 结果如下:
| 数量 | 单价 | 总价 |
|---|---|---|
| 6 | 18 | 108 |
| 5 | 19 | 95 |
| 4 | 20 | 80 |
| 3 | 21 | 18 |
| 2 | 22 | 44 |
| 1 | 23 | 22 |
可以验证,第6行, 计算方式为第二列减去第一列的值,即21-3=18,第三列得出的值与验证是一致的。而第三列其他行的值 都是前两列的乘积。
Emacs Org-mode 3 表格的更多相关文章
- [Emacs] Org-mode下表格内中英文不对齐的解决方案
;; Setting for English font (set-default-font "monospace-15") ;; Setting for Chinese font ...
- [emacs] Drawing uml under emacs org-mode using plantUML - 类图
[emacs] Drawing uml under emacs org-mode using plantUML - 类图 // */ // ]]> [emacs] Drawing uml u ...
- Emacs Lisp 功能扩展集锦
http://docs.huihoo.com/homepage/shredderyin/emacs_elisp.html Emacs 具有超强的扩展性.这是当今没有任何其它编辑器可以比拟 的强大特点. ...
- Emacs Org-mode 1 下载、安装、基本使用
1.1 总述 Org 是一种帮助我们做笔记.日常事件或者项目计划的快速高效的文本格式系统. Org 有以下特点: Org mode 基于组织结构(outline-mode)对文本进行组织.具有良好的快 ...
- emacs安装及配置
目录 平台 安装 基本配置 配置文件结构 elpa仓库管理 主题配色 字体显示配置(解决中文卡顿) 插件配置 markdown 简介 markdown-mode markdown-toc org导出m ...
- [转载]生活在 Emacs 中
Brian Bilbrey2002 年 8 月 20 日发布 教程简介 本教程讲什么? Emacs 是一个流行的无模式文本编辑器,有许多强大的功能.本教程将教您使用 Emacs 的基础知识.为了让您很 ...
- [emacs] org-mode的一些小技巧
Table of Contents 1 快速输入 #+BEGIN_SRC … #+END_SRC 2 代码按语法高亮 3 导出成HTML时的一些问题和技巧 3.1 生成目录表 3.2 为每个分节的标题 ...
- Emacs Org-mode中英文字体设置
Emacs Org-mode中英文字体设置 Table of Contents 1. 缺省字体存在的问题 2. 解决方法 2.1. 环境说明 2.2. 思路和方法 2.3. emacs设置代码 2.4 ...
- Emacs 笔记二
Emacs 笔记二 Table of Contents 1. 前言 2. emacs基本操作(常用快捷键) 3. emacs模式讲解 4. emacs缓冲区 5. org mode 5.1. 列表 5 ...
随机推荐
- laravel 远程一对多实例
/** * 关联楼宇推荐书关联表 * 远程一对一 */ public function buildingPanos() { return $this->hasManyThrough( 'App\ ...
- EntityFramework Core笔记:表结构及数据基本操作(2)
1. 表结构操作 1.1 表名 Data Annotations: using System.ComponentModel.DataAnnotations.Schema; [Table("R ...
- 【BZOJ5496】[十二省联考2019]字符串问题(后缀树)
[BZOJ5496][十二省联考2019]字符串问题(后缀树) 题面 BZOJ 洛谷 题解 首先显然可以把具有支配关系的串从\(A\)到\(B\)连一条有向边,如果\(B_i\)是\(A_j\)的前缀 ...
- shell之数学运算
let #!/bin/bash no1=1; no2=5; let result=no1+no2 ##不能留空格 echo $result #自加 let no++ #自减 let no-- #简写 ...
- LOJ #6285 分块入门9
题意:区间众数,不带修改,带修改刚看了一眼没看懂cls在讲啥QAQ. 题解:按照代码中那个sqrt(n/2/log2(n))大小分块,可以用均值不等式证明的,就是假设查询和n同级,然后一通爆算就可以得 ...
- java 11 Stream 加强
Stream 是 Java 8 中的新特性,Java 9 开始对 Stream 增加了以下 4 个新方法. 1) 增加单个参数构造方法,可为null Stream.ofNullable(null).c ...
- [FJOI2018]领导集团问题
[FJOI2018]领导集团问题 dp[i][j],i为根子树,最上面的值是j,选择的最大值 观察dp方程 1.整体Dp已经可以做了. 2.考虑优美一些的做法: dp[i]如果对j取后缀最大值,显然是 ...
- GWAS条件分析(conditional analysis)
一.为什么要做GWAS的条件分析(conditional analysis) 我们做GWAS的时候,经常扫出一堆显著的信号,假设rs121是我们扫出来与某表型最显著相关的位点(P=1.351e-36) ...
- 缓存服务—Redis
Redis 简介Redis 是一个开源(BSD 许可)的.内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 为什么要用 Redis 在高并发场景下,如果需要经常连接结果变动频繁的数据库, ...
- MySQL实战45讲学习笔记:事务隔离级别(第三讲)
一.隔离性与隔离级别 1.事务的特性 原子性 一致性 隔离性 持久性 2.不同事务隔离级别的区别 读未提交:别人改数据的事务尚未提交,我在我的事务中也能读到.读已提交:别人改数据的事务已经提交,我在我 ...