我在vim中发现了一个排序问题:vim中的排序结果与终端中的结果不同。
例如,我有一个文件$ /usr/local/bin/python3 -c \
'f = open("/home/ec2-user/python-scripts/master.py", "r+b"); \
s = f.read().replace(b"\r", b""); f.seek(0); f.write(s); f.close()'
test.txt
vim中的中国
美国
和:sort
命令都会导致
%!sort
这是一个错误的字母顺序。但终端中的命令中国
美国
会导致正确的
sort test.txt
我的终端和vim中的语言环境都是美国
中国
,那么原因是什么?
虽然有类似的问题How to sort UTF-8 lines in Vim?,
但是,我想弄清楚为什么en_US.UTF-8
与:%!sort
不同,而sort test.txt
与:!locale
相同。以及如何在终端中重现vim的行为?