sorting - 正则表达式搜索,可视化 block 结果然后排序

标签 sorting vim

假设我有一个由空格分隔的 URL 列表及其相应的标题。

http://url1.com/qfwarsas/ gb_title 1 - 1
http://url2.com/arsas/ xe_title 2 - 2
http://url3.com/qfsas ah_title 3 - 3

我正在尝试按标题对行进行排序,如下所示:

http://url3.com/qfsas ah_title 3 - 3
http://url1.com/qfwarsas/ gb_title 1 - 1
http://url2.com/arsas/ xe_title 2 - 2

我可以通过运行一个简单的宏将每个标题的第一个字母复制到行的前面,然后 ctrl+v 对 block 进行排序,然后删除每行的第一个字母来做到这一点。我想知道是否有办法使用正则表达式和视觉 block 选择来做到这一点?

获取标题第一个字母选择的正则表达式是

:s/\v[^ ]* (.)/\1/

但是当我尝试将其转换为视觉 block 选择时,我遇到了问题。

有什么想法吗?

最佳答案

如果你的分隔符是空格,你可以使用

:sort / /

使用搜索模式的 :sort 的默认行为是对匹配项后面的任何内容进行排序。

关于sorting - 正则表达式搜索,可视化 block 结果然后排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60458425/

相关文章:

sorting - sort/2、keysort/2 与 samsort/3、predsort/3

java - 如何不按键而是按值类的字段对映射进行排序?

C:列表排序代码不起作用

彩色打印的 VIM Unix 命令

linux - 为什么 vim 的 d 运算符行为不端?

linux - Hexeditor 用于在 Linux 上搜索 utf16le 中的字符串

c++ - 如何在 C++ 中对包含负数和正数的字符串数组进行排序?

vim - 如何知道我一直在输入的命令?

vim - 防止 Vim 在退出时清除剪贴板

python - 拆分和编辑 CSV 列并按字母顺序排列