繁体   English   中英

Vim:按位置的文字排序

[英]Vim: Sort lines by text at position

我想使用vim sort命令开始在某个位置排序。 没有安装任何插件。

2011-09-17  00:37 |Free|ALL RIGHT NOW
2011-09-17  00:41 |Kim Wilde|CAMBODIA
2011-09-17  00:45 |Take That|NEVER FORGET
2011-09-17  00:53 |Visage|FADE TO GREY
2011-09-17  00:56 |SUTHERLAND BROTHERS & QUIVER|ARMS OF MARY

命令:sort u从位置1开始。

在示例中,艺术家姓名从位置20开始,所以我想在那里开始排序。

这是我想得到的结果

2011-09-17  00:37 |Free|ALL RIGHT NOW
2011-09-17  00:41 |Kim Wilde|CAMBODIA
2011-09-17  00:56 |SUTHERLAND BROTHERS & QUIVER|ARMS OF MARY
2011-09-17  00:45 |Take That|NEVER FORGET
2011-09-17  00:53 |Visage|FADE TO GREY

这是没有插件或不应该尝试的事情吗? 谷歌吐出了许多用户定义的脚本,但没有任何工作开箱即用......

开箱即用,您可以从虚拟列开始排序

:sort /\%20v/

来自:help :sort

您可以通过VIM命令跳过排序的第一部分(直到“|”char):

:sort /^[^|]*/

如果您真的想从位置20排序,请使用下一个语法:

:sort /^.\{19}/

注意开始括号前的反斜杠 ,要重复的字符必须量词之前

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM