聆听风声 点点滴滴都很珍贵!

vim使用Tablify表格转化插件

2018-05-26

Tablify是一个VIM插件,可将简单的结构化数据转换为漂亮的表格。

安装

cd ~/.vim/bundle
git clone git://github.com/Stormherz/tablify.git

用法

在开始制作表格之前,您需要知道一小部分命令。假设你 是 `\:`

\tl\tt 将选定的行转换为表格(左对齐的文本)

\tc 将选定的行转换为表格(居中文本)

\tr 将选定的行转换为表格(右对齐文本)

\tu 将所选表格转换为原始文本格式你想添加一些变化

\ta 选择光标内任何形成的表格(也可以选择未来表格的结构化文本)

形成和选择表的操作:

\ts 排序表(列号将被提示),支持文本和数字排序

将来表格的每一行都是一个带有| 符号(或者您为 文件中的g:tablify_raw_delimiter 变量 选择的任何其他符号)分隔的单元格的文本行 .vimrc。假设我们有几行文字,我们希望看到如下表格:

Artist | Song | Album | Year
Tool | Useful idiot | Ænima | 1996
Pantera | Cemetery Gates | Cowboys from Hell | 1990
Ozzy Osbourne | Let Me Hear You Scream | Scream | 2010

现在选择这些行并按下来 \tt 制作一个表格:

+---------------+------------------------+-------------------+------+
| Artist        | Song                   | Album             | Year |
+---------------+------------------------+-------------------+------+
| Tool          | Useful idiot           | Ænima             | 1996 |
+---------------+------------------------+-------------------+------+
| Pantera       | Cemetery Gates         | Cowboys from Hell | 1990 |
+---------------+------------------------+-------------------+------+
| Ozzy Osbourne | Let Me Hear You Scream | Scream            | 2010 |
+---------------+------------------------+-------------------+------+

我敢打赌这很简单。现在您可以按 u 取消制作表格或选择表格,然后按 \tu 回到您开始的文字。之后,你可以尝试 \tc ,并 \tr 看看它的样子已经排列在表中的文本。

很明显,我们的表格有一些标题,并且将它与表格数据直观地区分开来会很棒。为此,只需使用# 符号(或您为 文件中的g:tablify_header_delimiter 变量选择的任何其他符号) 分隔标题单元格即可 .vimrc

Artist # Song # Album # Year
Tool | Useful idiot | Ænima | 1996
Pantera | Cemetery Gates | Cowboys from Hell | 1990
Ozzy Osbourne | Let Me Hear You Scream | Scream | 2010

这就是我们在执行后得到的结果:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Artist        | Song                   | Album             | Year |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Tool          | Useful idiot           | Ænima             | 1996 |
+---------------+------------------------+-------------------+------+
| Pantera       | Cemetery Gates         | Cowboys from Hell | 1990 |
+---------------+------------------------+-------------------+------+
| Ozzy Osbourne | Let Me Hear You Scream | Scream            | 2010 |
+---------------+------------------------+-------------------+------+

从通常前缀的文本行中删除表格是没有问题的,例如:

/**
 * Artist#Song#Album#Year
 * Tool|Useful idiot|Ænima|1996
 * Pantera|Cemetery Gates|Cowboys from Hell|1990
 * Ozzy Osbourne|Let Me Hear You Scream|Scream|2010
 *
 */

多行单元格内容也被支持,只是\n 应该发生换行的地方 ,而tablify会完成剩下的工作:

Artist # Song # Album # Year
Pantera | Cemetery Gates | Cowboys from Hell | 1990
Tool \n (great perfomance)| Useful idiot | Ænima | 1996
Ozzy Osbourne | Let Me Hear You \n Scream | Scream | 2010

上面的示例转换为表格:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Artist             | Song            | Album             | Year |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Pantera            | Cemetery Gates  | Cowboys from Hell | 1990 |
+--------------------+-----------------+-------------------+------+
| Tool               | Useful idiot    | Ænima             | 1996 |
| (great perfomance) |                 |                   |      |
+--------------------+-----------------+-------------------+------+
| Ozzy Osbourne      | Let Me Hear You | Scream            | 2010 |
|                    | Scream          |                   |      |
+--------------------+-----------------+-------------------+------+

组态

Tablify行为可以根据以下变量在每个缓冲区中配置:

g:loaded_tablify - 设置为 1 禁用加载插件

b:tablify_headerDelimiter - 默认值为#,用于分隔文本中标题单元格的符号- 默认值为 ,用于分隔文本中单元格

b:tablify_delimiter 值的 |符号

b:tablify_vertDelimiter -默认值是 |,用于填充表的行垂直定界符符号

b:tablify_horDelimiter -默认值是 -,用于填充表的行水平定界符符号

b:tablify_horHeaderDelimiter -默认值是 ~,对于填充tabls头行水平定界符符号

b:tablify_divideDelimiter -缺省值是 +在该行中,符号/列交叉点

b:tablify_cellLeftPadding - 默认值为 1,用于左侧单元格填充的空格数量

b:tablify_cellRightPadding - 默认值为 1用于右侧单元格填充的空格数量

注意:在使用\命令时可以看到编辑器右下角有一个\符号,需要尽快按下对应的功能键,不然就会取消状态

vim使用Tablify表格转化插件


下一篇 PHP SPL标准库

Comments

Content