Vimwiki Tables

用Vimwiki已经有一段时间了,虽然我自己的wiki并没什么真正的内容(主要是收集的链接),但是却越来越感觉到vimwiki实际上是一个写HTML的厉害武器。很多时候,效率非常高,更重要的是vimwiki可以让作者更专注于内容而不是形式。

说的有点偏题,其实今天主题是vimwiki的表格。

据说很多人都是因为Org-mode而开始尝试传说中Emacs的。而Org-mode里面有个很牛逼的功能就是Table。简简单单的画个竖线(“|”)画个横线(“-”),然后刷刷刷像变魔术一样就成了一个表格,相当的神奇。其实Vim(实际上是Vimwiki)也可以做相同的事情。
要在Vimwiki里面画表最简单的办法就是

:VimwikiTable

这个命令会在当前的光标处插入一个默认大小的表格(5*2):

|   |   |   |   |   |
|---+---+---+---+---|
|   |   |   |   |   |

上面一行一般是作为表头,现在可以任意输入文字,输完一个单元格按Tab键会自动跳到下一个单元格并且调整好列宽。想要回到之前的单元格用Shift+Tab

| Name | Sex | Age | City | Phone Number |
|------+-----+-----+------+--------------|
|      |     |     |      |              |

当想新插入一行的时候,直接输入回车即可

| Name  | Sex | Age | City     | Phone Number |
|-------+-----+-----+----------+--------------|
| Anels | M   | 20+ | New York | xxx-xxx-xxxx |
|       |     |     |          |              |

需要注意的是,回车之后光标的位置不会回到新一行的第一个单元格,而是之前单元格下方。

关于自动调整列宽,我觉得Vimwiki做的很不错。任何对内容的调整Vimwiki都会自动把列宽调整到合适。当然,这是在插入模式下,如果是在Normal Mode下用x,dw这些不会进入插入模式的命令修改内容是不会引起变化的。

对于表格的创建其实也有更简单的办法。在想输入表格的地方,以(“|”)开头、结尾以及分割内容,就会自动生成表格。如输入

|Course|Texbook|

回车之后,表格就建立起来了,这个时候,语法高亮和自动缩进会告诉你表格已经建立成功了。

| Course | Textbook |
|        |          |

这个时候,只要随便打两个横线(“-”)(准确的说是三个以上),再回车,就会变成这样

| Course | Textbook |
|--------+----------|
|        |          |

很神奇吧,然后就可以正常编辑了。

完成之后可以用

:Vimwiki2HTML

输出成为HTML查看最终效果。

在Vimwiki里的帮助文档也可以找到VimwikiTable的条目

:h vimwiki-tables

VimwikiTable轻巧快速,虽然在某些功能上不够强大(比如还无法像Emacs的Org-mode那样可以使用函数来求和求平均数什么的,删除增加列也略显繁琐),但足够应付基本的需求了。而Vim本身的强悍也可以弥补一些功能上的缺失(比如排序)。

原创文章,转载请注明: 转载自 iDEAnels

本文地址: Vimwiki Tables

4 thoughts on “Vimwiki Tables”

  1. 你好,想问下,表格可以自己定义对齐方式么,比如某一列我想左对齐,另外一列我想右对齐,我找了好多地方都没找到,自带的help文档貌似也没看到

Leave a Reply

Your email address will not be published. Required fields are marked *