比如这样的数据 制作个同列数据上下对齐的纯文本表格
27.6,429.0,3814,32767,58248434,429,1,False,2010-11-18 09:48:48.000,365,60011635,10000037,30003015,6,
27.6,429.0,3814,32767,58248443,429,1,False,2010-11-18 09:48:48.000,365,60011686,10000037,30003025,2,
27.6,429.0,3814,32767,58248447,429,1,False,2010-11-18 09:48:49.000,365,60011656,10000037,30003050,8,
27.6,219209.0,3814,32767,58248451,219209,1,False,2010-11-18 09:48:50.000,365,60011551,10000037,30003058,6,
27.6,219209.0,3814,32767,58248450,219209,1,False,2010-11-18 10:09:49.000,365,60011548,10000037,30003058,6,
我不想用excel, 想用vim来处理 每个逗号都代表这一个单元格的结束 因为每个数据长短不一所以只是简单的批量加空字符不行上下不一样整齐,
思路1是 第一行直接每个数据结尾加缩进 其他行对齐上一行的数据 可是因为数据长短不一不知道如何对齐数据 比如上一行都是很大的数据 123088232 3293829832932 2392392328382392 而下一行很小1 2 3 4 5 6 这该如何自动对齐
思路2是 第一行每个数据之间都有一样足够多的缩进(任意数据的宽度+此缩进宽度>最大数据的宽度 防止大数据占据下一个单元格) 这就需要能够设定每一个数据最高位在一行中的横坐标, 请问如何指定字符的横坐标?谢谢
请教 vim表格问题
-
- 帖子: 6
- 注册时间: 2010-06-21 14:03
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 请教 vim表格问题
Align
使用的命令:
右对齐也是可以的:
使用的命令:
PS: 如经常需要对中文进行对齐并且使用 Vim7.3 的话我这里有优化版。
代码: 全选
27.6, 429.0, 3814, 32767, 58248434, 429, 1, False, 2010-11-18 09:48:48.000, 365, 60011635, 10000037, 30003015, 6,
27.6, 429.0, 3814, 32767, 58248443, 429, 1, False, 2010-11-18 09:48:48.000, 365, 60011686, 10000037, 30003025, 2,
27.6, 429.0, 3814, 32767, 58248447, 429, 1, False, 2010-11-18 09:48:49.000, 365, 60011656, 10000037, 30003050, 8,
27.6, 219209.0, 3814, 32767, 58248451, 219209, 1, False, 2010-11-18 09:48:50.000, 365, 60011551, 10000037, 30003058, 6,
27.6, 219209.0, 3814, 32767, 58248450, 219209, 1, False, 2010-11-18 10:09:49.000, 365, 60011548, 10000037, 30003058, 6,
代码: 全选
'<,'>Align! p0P1 ,\@<=\(\d\|F\)\@=
代码: 全选
27.6, 429.0, 3814, 32767, 58248434, 429, 1, False, 2010-11-18 09:48:48.000, 365, 60011635, 10000037, 30003015, 6,
27.6, 429.0, 3814, 32767, 58248443, 429, 1, False, 2010-11-18 09:48:48.000, 365, 60011686, 10000037, 30003025, 2,
27.6, 429.0, 3814, 32767, 58248447, 429, 1, False, 2010-11-18 09:48:49.000, 365, 60011656, 10000037, 30003050, 8,
27.6, 219209.0, 3814, 32767, 58248451, 219209, 1, False, 2010-11-18 09:48:50.000, 365, 60011551, 10000037, 30003058, 6,
27.6, 219209.0, 3814, 32767, 58248450, 219209, 1, False, 2010-11-18 10:09:49.000, 365, 60011548, 10000037, 30003058, 6,
代码: 全选
'<,'>Align! rp0P1 ,\@<=\(\d\|F\)\@=
-
- 帖子: 6
- 注册时间: 2010-06-21 14:03
Re: 请教 vim表格问题
谢谢 不过不会用emacspocoyo 写了:lz的对齐是左对刘/右对齐/中间对齐
只知道emacs里的org模式 把,换成tab 显示还行顺眼
-
- 帖子: 6
- 注册时间: 2010-06-21 14:03
Re: 请教 vim表格问题
非常感谢 我看看align的说明 再次感谢 vim很棒lilydjwg 写了:Align
使用的命令:代码: 全选
27.6, 429.0, 3814, 32767, 58248434, 429, 1, False, 2010-11-18 09:48:48.000, 365, 60011635, 10000037, 30003015, 6, 27.6, 429.0, 3814, 32767, 58248443, 429, 1, False, 2010-11-18 09:48:48.000, 365, 60011686, 10000037, 30003025, 2, 27.6, 429.0, 3814, 32767, 58248447, 429, 1, False, 2010-11-18 09:48:49.000, 365, 60011656, 10000037, 30003050, 8, 27.6, 219209.0, 3814, 32767, 58248451, 219209, 1, False, 2010-11-18 09:48:50.000, 365, 60011551, 10000037, 30003058, 6, 27.6, 219209.0, 3814, 32767, 58248450, 219209, 1, False, 2010-11-18 10:09:49.000, 365, 60011548, 10000037, 30003058, 6,
右对齐也是可以的:代码: 全选
'<,'>Align! p0P1 ,\@<=\(\d\|F\)\@=
使用的命令:代码: 全选
27.6, 429.0, 3814, 32767, 58248434, 429, 1, False, 2010-11-18 09:48:48.000, 365, 60011635, 10000037, 30003015, 6, 27.6, 429.0, 3814, 32767, 58248443, 429, 1, False, 2010-11-18 09:48:48.000, 365, 60011686, 10000037, 30003025, 2, 27.6, 429.0, 3814, 32767, 58248447, 429, 1, False, 2010-11-18 09:48:49.000, 365, 60011656, 10000037, 30003050, 8, 27.6, 219209.0, 3814, 32767, 58248451, 219209, 1, False, 2010-11-18 09:48:50.000, 365, 60011551, 10000037, 30003058, 6, 27.6, 219209.0, 3814, 32767, 58248450, 219209, 1, False, 2010-11-18 10:09:49.000, 365, 60011548, 10000037, 30003058, 6,
PS: 如经常需要对中文进行对齐并且使用 Vim7.3 的话我这里有优化版。代码: 全选
'<,'>Align! rp0P1 ,\@<=\(\d\|F\)\@=
-
- 帖子: 6
- 注册时间: 2010-06-21 14:03
Re: 请教 vim表格问题
非常感谢 我看看 align说明

-
- 帖子: 6
- 注册时间: 2010-06-21 14:03
Re: 请教 vim表格问题
lilydjwg 非常感谢 我看看align去了
世界因为vim而美好 谢谢大家
