【问题标题】:Sorting lines with vim by lines chunk用 vim 按行对行进行排序
【发布时间】:2012-11-30 16:48:55
【问题描述】:

我可以根据行的一部分而不是完整的行对 vim 中的行进行排序吗? 例如

My Name is Deus Deceit

我想根据名称开始的列 + 6 列进行排序 例如 按第 19-25 列排序,vim 只会检查这些字符进行排序。 如果没有插件就可以完成,那就太好了。太棒了

【问题讨论】:

    标签: sorting vim lines


    【解决方案1】:

    查看:help :sort。该命令采用选项{pattern},其匹配文本被跳过(即在匹配后进行排序。

    例如,按第 19+ 列排序(请参阅:help /\%c 和相关的正则表达式原子):

    :sort /.*\%19c/
    

    【讨论】:

    • Ty 为您解答,但是...我现在使用 vim 2 天了。所以你刚刚在那里输入的内容,对我来说真的没有任何意义......也许我应该放弃:S
    • 感谢您的帮助!也许:sort r /\%19c.*\%25c/ 是一种改进?
    • 问题是我不想只输入一个我不知道它是如何工作的命令。你能补充说明那一行是做什么的吗?这将非常有帮助,并且理解它将使我能够在各种情况下一次又一次地做到这一点,而不是回到论坛并输入具有不同值的相同问题。我知道很明显我必须根据不同的情况改变哪些价值观,但我想你明白我的意思。泰
    • r 表示按正则表达式模式排序(在// 内)。该模式匹配第 19 列和第 25 列之间的所有内容(即第 19 列是 \%19c.* 捕获这些列之间的内容)
    • 两天后,自定义排序已经是一个相当高级的话题了 :-) 专业提示:了解内置 :help 的组织方式、导航方式以及阅读阅读阅读方式。它非常有用且详细;我已经在我的答案中包含了这些指针。对 Vim 要有耐心;在 Vim 工作了 10 多年后,我仍然每天都在学习新东西……
    猜你喜欢
    • 1970-01-01
    • 2020-10-30
    • 2014-03-12
    • 2021-12-17
    • 2011-08-29
    • 1970-01-01
    • 2013-10-08
    • 2014-10-31
    相关资源
    最近更新 更多