emacs org-mode table使用

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

               

表格控制

表格名称

#+CAPTION: 出厂/供应链/销售/售后

导出HTML表格后,会在表格正上方出现如下表格名称

Table 1: 出厂/供应链/销售/售后


水平分隔线

|-

可以用来添加水平分隔线, 用在第一行和第二行之间,第一行字体变粗黑和居中。


快捷键

C-c C-c 自动格式化表格

<Tab> 跳到下一个字段

S- <Tab> 注意,用右Shift建,跳到前一个字段

S-M- 下方向键,在当前行之前插入一行

C-c <RET> 在当前行下面插入一行,并且光标移动到新插入的行


列的编辑

指定列的宽度

有时候,列的内容特别长,影响到emacs编辑table的时候视觉对齐效果,可以通过增加一行,专门指定各列的宽度。超出宽度的部分会用=>表示. 如果想看到全部值,需要鼠标移动到该字段会出现文本提示信息。如果想要编辑,需要按下C-c ` ,会打开另一个buffer让你编辑, 用C-c C-c提交编辑内容。

效果如下:





列中文字对齐方式

沿用前面限定宽度的方式,不过需要添加r,c,l字符分别表示右、中和左对齐。这样会改变导出到html table的对齐方式。

比如:

<l5>


列的分组

分组后导出到html后的效果,比如:

Table 1: DAU统计
日期 新增 日活 VV
2015-05-01 10 20 25
2015-05-04 11 22 26

新增和日活都是用户指标,所以放在一起,用垂直线把它们和其他指标比如VV分开。为了达到这个效果,不能使用html table的属性rules all。具体emacs中编辑的代码如下:

#+CAPTION: DAU统计| 日期   | 新增  | 日活  | VV ||--------+-------+-------+----|| <6>    | <l5>  | <l5>  |    || /      | <     | >     |    || 2015-05-01 | 10    | 20    | 25 || 2015-05-04 | 11    | 22    | 26 |

这里专门用一行表示列的分组,/开头,< >表示这两列是一组。



行的编辑

多行

用excel的人常会用到一个cell对应多行,org table没有开发相应的标签,但是可以用如下方法简单模拟,先看效果:
Table 2: 组织架构
一级部门 二级部门 人数
A A.1 5
  A.2 6
B B.1 7
  B.2 3


就是用多个|-组成的行分隔线来模拟
#+CAPTION: 组织架构| 一级部门 | 二级部门 | 人数 ||----------+----------+------|| A        | A.1      | 5    ||          | A.2      | 6    ||----------+----------+------|| B        | B.1      | 7    ||          | B.2      | 3    |


另外一个多行的方法是用html标记,因为orgi支持嵌入html标记,可以添加html换行符来实现。

 | a                                      | b  | c  | |----------------------------------------+----+----| | aaa @@html:<br/>@@ bbb  @@html:<br/>@@ ccc | b1 | c1 |

这里,html<br/>标签被包在@@html: ... @@里面。

效果如下:

a b c
aaa 
bbb 
ccc
b1 c1


Cell操作

删除cell文本

C-c SPC

跳到开头或者结尾

M-a 和 M-e 

将上一行Cell的文本复制到下一行

S-Enter 可以将上一行cell的数据复制到当前空白的cell中, 
如果是数字自动增加1。 光标可以在上一行的cell,也可以在下一行空白cell中,都一样。
注意,如果文本中有小数点就不行了,因此IP地址是不能这样复制的

嵌入HTML标记

从前面多行的方式,可以看到,如果是导出为HTML文件,可以嵌入任意的HTML tag,的确很方便。

具体官方文档参考:

http://orgmode.org/manual/Quoting-HTML-tags.html#Quoting-HTML-tags


添加 | 字符

由于 | 用于表示Field分割符号,如果一个字段里面要显示 | , 需要使用转义字符:\vert,  

如果要在一个字符串内部加上 | , 需要类似 abc\vert{}def, 会显示abc|def


导出

导出为HTML table风格设置

#+ATTR_HTML: :border 2 :rules all :frame border

这里可以指定html table的属性,比如rules all代表表格会显示横竖分隔线。可以查找 html table属性。

导出为csv文件

运行命令org-table-export即可,然后按照提示输入格式名称和文件名


字体

字体需要特殊设置,否则默认的可能是可伸缩字体,造成表格不能对齐,歪歪扭扭,相当不好看

在spacemacs中,配置.spacemacs文件,修改文件已经有的custom-set-faces部分:

(custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(org-table ((t (:foreground "#6c71c4" :family "Ubuntu Mono")))) )

ArchLinux上要安装ttf-ubuntu-font-family

现在,org table已经能够等宽了,org table之外不受影响。来看看效果:





           

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/fduffyyg/article/details/87885564