使用vim按行块排序行

Deu*_*eit 3 sorting vim lines

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

My Name is Deus Deceit
Run Code Online (Sandbox Code Playgroud)

我想根据名称开始的列+ 6列进行排序,例如按列19-25排序,vim只会检查这些字符以进行排序.如果没有一个很棒的插件就可以完成.TY

Ing*_*kat 7

退房:help :sort.该命令采用{pattern}跳过匹配文本的选项(即在匹配后进行排序).

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

:sort /.*\%19c/
Run Code Online (Sandbox Code Playgroud)

  • 感谢帮助指针!也许`:sort r/\%19c.*\%25c /`是一种改进? (2认同)
  • `r`表示按正则表达式模式排序(在`/`和`/`中).该模式匹配第19列和第25列之间的所有内容(即第19列是`\%19c`,而`.*`捕获这些列之间的内容) (2认同)