请教 vim表格问题

Vim、Emacs配置和使用
回复
meloncrashed
帖子: 6
注册时间: 2010-06-21 14:03

请教 vim表格问题

#1

帖子 meloncrashed » 2010-11-19 6:24

比如这样的数据 制作个同列数据上下对齐的纯文本表格
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是 第一行每个数据之间都有一样足够多的缩进(任意数据的宽度+此缩进宽度>最大数据的宽度 防止大数据占据下一个单元格) 这就需要能够设定每一个数据最高位在一行中的横坐标, 请问如何指定字符的横坐标?谢谢
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 请教 vim表格问题

#2

帖子 lilydjwg » 2010-11-19 11:21

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,
使用的命令:

代码: 全选

'<,'>Align! rp0P1 ,\@<=\(\d\|F\)\@=
PS: 如经常需要对中文进行对齐并且使用 Vim7.3 的话我这里有优化版。
meloncrashed
帖子: 6
注册时间: 2010-06-21 14:03

Re: 请教 vim表格问题

#3

帖子 meloncrashed » 2010-11-19 12:57

pocoyo 写了:lz的对齐是左对刘/右对齐/中间对齐
只知道emacs里的org模式 把,换成tab 显示还行顺眼
谢谢 不过不会用emacs
meloncrashed
帖子: 6
注册时间: 2010-06-21 14:03

Re: 请教 vim表格问题

#4

帖子 meloncrashed » 2010-11-19 12:59

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,
使用的命令:

代码: 全选

'<,'>Align! rp0P1 ,\@<=\(\d\|F\)\@=
PS: 如经常需要对中文进行对齐并且使用 Vim7.3 的话我这里有优化版。
非常感谢 我看看align的说明 再次感谢 vim很棒
meloncrashed
帖子: 6
注册时间: 2010-06-21 14:03

Re: 请教 vim表格问题

#5

帖子 meloncrashed » 2010-11-19 13:05

lilydjwg 写了:Align



使用的命令:

'<,'>Align! rp0P1 ,\@<=\(\d\|F\)\@=


PS: 如经常需要对中文进行对齐并且使用 Vim7.3 的话我这里有优化版。
非常感谢 我看看 align说明 :em11
meloncrashed
帖子: 6
注册时间: 2010-06-21 14:03

Re: 请教 vim表格问题

#6

帖子 meloncrashed » 2010-11-19 13:06

lilydjwg 非常感谢 我看看align去了 :em11 世界因为vim而美好 谢谢大家
回复