如何在vim中使用C#代码声明进行排序?

Mor*_*eng 5 c# vim stylecop

最近我在vim编辑C#代码.构建系统启用了StyleCop,因此所有using语句都应按字母顺序排列.

所以,我尝试在可视模式下选择下面的代码行,然后输入":sort".

using System.Security.Permissions;
using System.Runtime.Serialization;
using System.Security;
using System.ServiceModel;
Run Code Online (Sandbox Code Playgroud)

结果是:

using System.Runtime.Serialization;
using System.Security.Permissions;
using System.Security;
using System.ServiceModel;
Run Code Online (Sandbox Code Playgroud)

它没有通过StyleCop检查,因为"System.Security"不在"System.Security.Permissions"之前.ASCII值为";" 大于"."的ASCII值.

首选结果是:

using System.Runtime.Serialization;
using System.Security;
using System.Security.Permissions;
using System.ServiceModel;
Run Code Online (Sandbox Code Playgroud)

怎么实现呢?

Luc*_*tte 7

:h :sort 是你的朋友:

:[range]sort r /[^;]*/
Run Code Online (Sandbox Code Playgroud)

如果您希望删除重复项,请添加u niq标志:

:[range]sort ur /[^;]*/
Run Code Online (Sandbox Code Playgroud)

(如果你在';'之后有不同的评论,这将没有任何好处)