当前位置:  开发笔记 > 运维 > 正文

对齐VI中的列

如何解决《对齐VI中的列》经验,为你挑选了2个好方法。

我有一堆行,我想分成两列,并从每列获取数据.数据看起来像这样:

current_well.well_number
current_well.well_name
current_well.well_type_code
well_location.section
well_location.range

基本上我想要做的是根据周期分割线,将数据转换为两列,然后获取每列的数据.我知道这可以在Excel中完成,但我真的对这个问题的VI解决方案感兴趣.我知道

%s/\./

将使用空格式格式化字符串.但是,一旦我的数据看起来像:

current_well    well_number
current_well    well_name
current_well    well_type_code
well_location   section
well_location   range

如何获取每列的所有值,以便将其粘贴到另一个应用程序中?



1> MES..:

linux column命令非常适合创建列

:%!column -s . -t

然后使用块复制。



2> Brian Carper..:

一种选择是使用此Align插件对句点进行排列,以便您可以更轻松地在可视块模式下选择列.例如,如果你这样做:

:%Align \.

你最终得到:

current_well  . well_number
current_well  . well_name
current_well  . well_type_code
well_location . section
well_location . range

如果您不想使用插件,请尝试使用空格填充列.例如,为您的文字:

:%s/\v(.*)\.(.*)/\=printf("%-16s %s", submatch(1), submatch(2))/

这会让你:

current_well     well_number
current_well     well_name
current_well     well_type_code
well_location    section
well_location    range

然后,您可以Ctrl-V选择要复制的文本列.只需确保选择宽度超过最宽值的列宽.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有