加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Vim中对UTF-8行进行排序?

发布时间:2020-12-15 17:00:39 所属栏目:安全 来源:网络整理
导读:我在Vim中有这些行: acbeéfg 当我这样做时:%sort,我得到这个: abcefgé 显然,“é”行不应该在最后,它应该在“e”行之后.是否可以让Vim正确排序这些行?不使用ASCCI键作为字符,而是使用实际字符. 我也试过:!sort(使用GNU sort utiliy)但我得到了相同
我在Vim中有这些行:
a
c
b
e
é
f
g

当我这样做时:%sort,我得到这个:

a
b
c
e
f
g
é

显然,“é”行不应该在最后,它应该在“e”行之后.是否可以让Vim正确排序这些行?不使用ASCCI键作为字符,而是使用实际字符.

我也试过:!sort(使用GNU sort utiliy)但我得到了相同的结果.

:%sort和:%!sort不一定以相同的方式工作.引用:帮助排序:

The details about sorting depend on
the library function used. There is
no guarantee that sorting is “stable”
or obeys the current locale. You will
have to try it out.

另一方面,GNU排序根据当前语言环境排序.引用人类排序:

* WARNING * The locale specified by the environment affects
sort order. Set LC_ALL=C to get the traditional sort order that uses
native byte values.

在我的系统上(临时设置为fr_CA.UTF-8的Ubuntu 9.10):%sort排序,就像设置了C或POSIX一样,而:%!sort根据法语区域设置进行排序.

我的猜测是你最初尝试了两种:%sort和:%!在类似POSIX的语言环境下排序(产生相同的结果),然后继续使用不同的语言环境进行实验:%sort only(总是返回POSIX) – 顺序).你能证实吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读