Org 使用内置的表格编辑器。可以进行简单的表格编写和计算。 Org中的表格 第一个非空字符“|” 视为表格的起始位置,后面的“|” 视为字段分隔符。

3.1 生成表格

编写表格时,可以将字段先写好,以“|”开头和分隔,如: |Name|Phone|Age| 然后 C-c RET, 然后会在下一行新增两行,一行类似结构“|—+—|”,导出时为一条横线,另一行以“|”开头和分隔,为新一行表格结构。 自动生成如下格式。 C-c RET 在任意一行都可以使用。都是相同的效果。

| name | phone | age |
|------+-------+-----|
| | | |

3.2 为表格添加说明

在表格上方,我们可以为表格添加说明。格式如下:

#+caption: 表格说明

3.3 操作说明

Table 1: 表格的基本操作
操作   说明
C-c |   生成表格,在buffer区域会提示输入N*M,代表N列M行的表格
|- TAB   生成一行 |—+----| 结构
C-c C-c org-table-align 表格对齐
TAB   从左到右,光标从前一个字段跳到下一个字段
S+TAB   从右到左,光标从后一个字段跳到前一个字段
RET   光标移动到下一行。如果下一行还没有表格结构,则新增一行
Table 2: column and row editing
操作 命令 说明
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一个处理函数。大小写严格区分
     
Table 3: regions
操作 命令 说明
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 表格的更多相关文章

  1. [Emacs] Org-mode下表格内中英文不对齐的解决方案

    ;; Setting for English font (set-default-font "monospace-15") ;; Setting for Chinese font ...

  2. [emacs] Drawing uml under emacs org-mode using plantUML - 类图

    [emacs] Drawing uml under emacs org-mode using plantUML - 类图 // */ // ]]>   [emacs] Drawing uml u ...

  3. Emacs Lisp 功能扩展集锦

    http://docs.huihoo.com/homepage/shredderyin/emacs_elisp.html Emacs 具有超强的扩展性.这是当今没有任何其它编辑器可以比拟 的强大特点. ...

  4. Emacs Org-mode 1 下载、安装、基本使用

    1.1 总述 Org 是一种帮助我们做笔记.日常事件或者项目计划的快速高效的文本格式系统. Org 有以下特点: Org mode 基于组织结构(outline-mode)对文本进行组织.具有良好的快 ...

  5. emacs安装及配置

    目录 平台 安装 基本配置 配置文件结构 elpa仓库管理 主题配色 字体显示配置(解决中文卡顿) 插件配置 markdown 简介 markdown-mode markdown-toc org导出m ...

  6. [转载]生活在 Emacs 中

    Brian Bilbrey2002 年 8 月 20 日发布 教程简介 本教程讲什么? Emacs 是一个流行的无模式文本编辑器,有许多强大的功能.本教程将教您使用 Emacs 的基础知识.为了让您很 ...

  7. [emacs] org-mode的一些小技巧

    Table of Contents 1 快速输入 #+BEGIN_SRC … #+END_SRC 2 代码按语法高亮 3 导出成HTML时的一些问题和技巧 3.1 生成目录表 3.2 为每个分节的标题 ...

  8. Emacs Org-mode中英文字体设置

    Emacs Org-mode中英文字体设置 Table of Contents 1. 缺省字体存在的问题 2. 解决方法 2.1. 环境说明 2.2. 思路和方法 2.3. emacs设置代码 2.4 ...

  9. Emacs 笔记二

    Emacs 笔记二 Table of Contents 1. 前言 2. emacs基本操作(常用快捷键) 3. emacs模式讲解 4. emacs缓冲区 5. org mode 5.1. 列表 5 ...

随机推荐

  1. Shell命令-文件及目录操作之pwd、rm

    文件及目录操作 - pwd.rm 1.pwd:显示当前所在位置信息 pwd命令的功能说明 pwd命令用于显示当前工作目录的绝对路径,以便在各个目录间来回切换. pwd命令的语法格式 pwd [OPTI ...

  2. redis--主从同步,故障切换,集群搭建

    一 . redis主从同步 准备三个配置文件,实现一主两从的redis数据库结构(这三个配置文件仅仅端口不一样) # redis-6379.conf 文件, 写入下面数据: port 6379 dae ...

  3. poj-1807(最大流)

    题意:给你n个插座,m个电器,每个电器有插头,还有k个插头转换器,可以把插座A变成插座B,转换器可以连续使用,比如A转换B,再从B转换C 解题思路:这道题就是题意麻烦,看懂了就很简单,首先建一个汇点和 ...

  4. python之MRO和垃圾回收机制

    一.MOR 1.C3算法简介 为了解决原来基于深度优先搜索算法不满足本地优先级,和单调性的问题. python2.3版本之后不管是新式类还是经典类,查找继承顺序都采用C3算法 2.算法原理 C3算法的 ...

  5. 协方差(Covariance)

    统计学上用方差和标准差来度量数据的离散程度 ,但是方差和标准差是用来描述一维数据的(或者说是多维数据的一个维度),现实生活中我们常常会碰到多维数据,因此人们发明了协方差(covariance),用来度 ...

  6. 【Spring】Spring bean的实例化

    Spring实现HelloWord 前提: 1.已经在工程中定义了Spring配置文件beans.xml 2.写好了一个测试类HelloWorld,里面有方法getMessage()用于输出" ...

  7. win+R启动列表

    屌丝才用windows,无奈~ """ Win+R 快速启动的命令: 系统应用程序: calc - 启动计算器 charmap - 启动字符映射表 chkdsk - Ch ...

  8. Cucumber使用中问题

    1.cucumber自动化执行提示chrome使用不支持的命令标记 --ignore-certificate-errors 大概问题是chrome版本和chrmedriver版本不对应 2." ...

  9. php运行出现Call to undefined function curl_init()解决方法

    php运行出现Call to undefined function curl_init() 64位win7/8 下PHP不支持CURL 除了将PHP.ini中的;extension=php_curl. ...

  10. JavaXML整理

    XML 浏览器的入口不同(访问路径),访问的资源也不同. 1.1XML语法 1.文档声明必须为<?xml开头,以?>结束; 2.文档声明必须从文档的0行0列位置开始: 3.文档声明只有属性 ...