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. 《Effective C++》定制new和delete:条款49-条款52

    条款49:了解new-handler的行为 当operator new无法分配出内存会抛出异常std::bad_alloc 抛出异常前会反复调用用户自定义的new-handler函数直至成功分配内存 ...

  2. python之函数闭包、可迭代对象和迭代器

    一.函数名的应用 # 1,函数名就是函数的内存地址,而函数名()则是运行这个函数. def func(): return print(func) # 返回一个地址 # 2,函数名可以作为变量. def ...

  3. php curl报错:417 - Expectation Failed

    当我在post提交的数据增加一段内容后会报错:417 - Expectation Failed. 查资料发现在使用curl做POST时,当post的数据大于1024字节时,curl并不会直接发起pos ...

  4. C#操作session的类实例(转)

    using System.Web; namespace DotNet.Utilities { public static class SessionHelper2 { /// <summary& ...

  5. CentOS下安装nvm

    1安装版本管理工具git yum install git 查看git版本 git --version 2 安装Node.js版本管理工具nvm curl -o- https://raw.githubu ...

  6. MySQL——修改一个表的自增值

    语句 alter table <table name> auto_increment=<value>; 示例 mysql; Query OK, rows affected (0 ...

  7. 怎样在ISE14.7中固化FLASH文件

    前言 当工程开发完成后,bit文件类型掉电后会消失,而此时采用FLASH固化就很重要了. 软件版本:ISE14.7 流程 1.对生成FLASH文件进行设置:配置速率为33,选择66貌似配置失败,中庸之 ...

  8. 深入理解JVM(1)——栈和局部变量操作指令

    将常量压入栈的指令 aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈i ...

  9. DMA设计

    目录 DMA设计 DMA框架 手册请看英文手册 芯片特性 请求来源 协议简述 基本时序 模式 协议 数据大小的描述 具体完整的实例时序 代码设计 驱动程序 测试程序 测试 参考链接 title: DM ...

  10. CMDB服务器管理系统【s5day92】:服务器管理回顾

    一.服务器管理回顾 1.requests 发送: requests.post(url='',data=,json=) requests.get() Django接受: request.POST, co ...