我有一个单词列表,每个单词都在自己的行中。这是表格的第一列。我想手动创建第二列。
我现在想使用一些插件,它将在文本周围创建一个 ASCII 表,所以我有很好的格式(每列中的起始字母应该在一个“垂直线”中,或者我应该能够快速移动到一个快捷方式的正确位置)。
是否有这样的 vim 插件可以简化编辑此类表格并控制格式?
如果您只想将文本对齐到表格格式,我使用它并且效果很好:
http://www.vim.org/scripts/script.php?script_id=294
几年前我写了一个命令行工具,它更接近你想要的:
它允许您以 CSV 格式编辑表格:
1,my table,another field
2,my table,yet another field
然后在 vim 中选择块,并使用以下方法对其进行过滤:
'<,'>!~/scripts/tab
这会给你:
------------------------------------
| 1 | my table | another field |
| 2 | my table | yet another field |
------------------------------------
如果您想再次编辑表格,您可以选择整个表格并重复untab
(这只是一个符号链接 - > 选项卡),这会将表格再次转换回 CSV,以便您可以编辑。
还有其他各种选择:
-------------------------------------------------------------------------
| Command/Option | Purpose |
|----------------|------------------------------------------------------|
| tab | Reads from stdin and tabulates comma seperated input |
| tab <-t> | Tabulates input and assumes first row are titles |
| tab <-h> | Prints this help |
| tab <-nb> | Tabulates without a border |
| tab <-fw X> | Wrap fields greater than X big don't break words |
| tab <-fs X> | Wrap fields greater than X big and break words |
| tab <-vp X> | Vertically pad table by X lines |
| tab <-hp X> | Horizontally pad fields by X chars |
| tab <-b X> | Tabulates with a border made from char X |
|----------------|------------------------------------------------------|
| untab | Reads from stdin and untabulates table input |
| untab <-b X> | Untabulate a table with border char X |
| untab <-nb> | Untabulate a borderless table |
-------------------------------------------------------------------------