在vim中给定一个范围,按字母顺序排列行

24

我有几行文本希望按字母顺序排列。例如,假设我有一个文件里包含一堆vim的set命令:

set nowrap
set number
set expandtab
set hlsearch
set list

我该如何给这五行文字按字母顺序排序?输出应该是这个样子:

set expandtab
set hlsearch
set list
set nowrap
set number

看看这篇文章:https://dev59.com/JXM_5IYBdhLWcg3wfTS7。例如,通过排除第一个单词和空格2,5排序/^\S\+\s\+/来设置排序列,但在这种情况下,只需使用:1,5 sort,因为第一列是相同的。 - Steve
1个回答

38

Vim的:sort命令需要一个命令行范围,并允许您使用正则表达式选择要排序的内容。 您还可以以相同的方式使用外部排序命令,使用:{range}!sort。 在我的情况下,:1,5sort完成了我想要的操作。 有关:sort命令的更多帮助信息,请参见此vim帮助主题:

:help :sort


2
我已经使用 Vim 工具近 10 年了,这真的是一个重大的改变。谢谢。 - T.Woody

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接