【发布时间】:2012-11-30 16:48:55
【问题描述】:
我可以根据行的一部分而不是完整的行对 vim 中的行进行排序吗? 例如
My Name is Deus Deceit
我想根据名称开始的列 + 6 列进行排序 例如 按第 19-25 列排序,vim 只会检查这些字符进行排序。 如果没有插件就可以完成,那就太好了。太棒了
【问题讨论】:
我可以根据行的一部分而不是完整的行对 vim 中的行进行排序吗? 例如
My Name is Deus Deceit
我想根据名称开始的列 + 6 列进行排序 例如 按第 19-25 列排序,vim 只会检查这些字符进行排序。 如果没有插件就可以完成,那就太好了。太棒了
【问题讨论】:
查看:help :sort。该命令采用选项{pattern},其匹配文本被跳过(即在匹配后进行排序。
例如,按第 19+ 列排序(请参阅:help /\%c 和相关的正则表达式原子):
:sort /.*\%19c/
【讨论】:
:sort r /\%19c.*\%25c/ 是一种改进?
r 表示按正则表达式模式排序(在/ 和/ 内)。该模式匹配第 19 列和第 25 列之间的所有内容(即第 19 列是 \%19c,.* 捕获这些列之间的内容)
:help 的组织方式、导航方式以及阅读阅读阅读方式。它非常有用且详细;我已经在我的答案中包含了这些指针。对 Vim 要有耐心;在 Vim 工作了 10 多年后,我仍然每天都在学习新东西……