我有一个单词列表,每个单词都在自己的行上。这是表格的第一列。我想手工制作第二栏。
我现在想使用一些插件,这将在文本周围创建一个ASCII表,所以我有很好的格式(每列中的起始字母应该在一个“垂直线”或我应该能够快速用一个快捷方式移动到正确的位置。)
是否有这样的vim插件可以简化编辑这些表并控制格式化?
答案 0 :(得分:6)
如果您只想将文本对齐成表格格式,我会使用它并且效果很好:
http://www.vim.org/scripts/script.php?script_id=294
几年前我写了一篇command line tool,它更贴近你想要的东西:
它允许您以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
(这只是一个符号链接 - &gt;标签)重复,再次将表格转换回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 |
-------------------------------------------------------------------------