在org中使用table.el
2016-04-16 14:59
1296 查看
spacemacs中转换org-table和table.el
M-m m t c 可以在两者之间来回转换在org中使用table.el
table.el支持创建复杂的ASCII 表格,功能比org table强大,写文档表格是十分重要的,现在就来试一下。注意
1. 表格不能对齐的原因是没有采用等宽字体
2. 取消自动换行,用M-x toggle-truncate-line命令取消
在org中创建table.el表格
使用快捷键C-c ~ 回答四个问题,column/row number and widthname | age | city | |
dean | old | 1.shanghai 2.beijing 3.yangzhou | |
li | young | beijing | |
shanghai | |||
zhang | young | beijing | shanghai |
3 编辑表格
不能直接编辑,需要使用快捷键C-c ' 打开另一个buffer, 编辑完后用C-c '保存退出,放弃编辑用 C-c k 退出spacemacs中保存和放弃退出为: M-Enter c和 M-Enter k
cell操作
文字换行
直接在编辑时用回车换行就好,导出为HTML表格时也换行了,这一点比org-table方便太多,因为我总是要不断的用标记。
水平切分
C-c C-c | 就可以在当前光标所在的cell里增加一个竖线。这里要记住水平指的是用竖线在一个水平面上切分,结果是还是一层。4.3 垂直切分
C-c C-c - 可以在当前光标所在的cell里增加一个横线。这里要注意cell中必须已经存在多行字符串才有效。上面三个操作导出的HTML结果如图
合并单元格
C-c C-c *会提示向哪个方向合并
减少高度
C-c C-c {表格对齐
因为我的org模式用的不是等宽字体,只在org-table里采用等宽字体,这样org里非表格的文字才会展示的美观。但是就带来了问题,org中如果有table(不是org-table)的话,无论是编辑状态还是非编辑状态,table里只要有中文,就无法对齐。
首先解决编辑表格的字体,让编辑时表格对齐
可以调用M-x buffer-set-faces,选择之前设置过得一个变量名称,比如:~/.spacemacs中设置了table-cell(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"))))
'(table-cell ((t (:foreground "#6c71c4" :family "Ubuntu Mono"))))
这里就可以选择table-cell表格在编辑中文时就会对齐。
然后解决org中显示的表格不对齐的问题
光标放在org不对齐的表格上,用C-u C-x = 查找face,发现了这个secondary ...好设置一下:(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"))))
'(secondary-selection ((t (:background "#100a14" :foreground "#6c71c4" :family "Ubuntu Mono"))))
'(table-cell ((t (:foreground "#6c71c4" :family "Ubuntu Mono")))))
现在只需要进入表格编辑状态, org模式就会采用secondary-selection的字体. org里的表格就自动对齐了。
这种方式有个缺点,就是当没有进入表格编辑状态时,org文件的表格仍然没有对齐。取巧的方法是无论是否要编辑先进入编辑状态,然后将编辑buffer隐藏.这时看到的org里面的table就很好看了。仍然是权益之际。
但是导出为HTML仍然是对齐的。
相关文章推荐
- Emacs 系列(二):org 模式介绍
- 表格标签table深入了解
- Jquery实现的table最后一行添加样式的代码
- jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
- Lua 学习笔记之C API 遍历 Table实现代码
- Lua中获取table长度问题探讨
- 获取Lua表结构(table)数据实例
- Lua教程之弱引用table
- Lua编程示例(一):select、debug、可变参数、table操作、error
- Lua中释放table占用内存的方法
- Lua中table的一些辅助函数介绍
- Lua中获取table长度的方法
- MySQL学习笔记5:修改表(alter table)
- Mysql中 show table status 获取表信息的方法
- table 行转列的sql详解
- 如何利用Emacs来调试C++程序
- php循环table实现一行两列显示的方法
- asp 去掉html中的table正则代码函数
- Javascript遍历Html Table示例(包括内容和属性值)
- jQuery实现获取table表格第一列值的方法