Предположим, у меня есть файл со следующим содержанием:
c
C
b
B
a
A
Когда я делаю :%sort
, я получаю следующий результат:
A
B
C
a
b
c
Когда я делаю :%!sort
(обратите внимание на '!'), Я получил
a
A
b
B
c
C
Я получаю то же поведение с регулярными выражениями, то есть [AZ] внутри VIM соответствует символам в верхнем регистре, а не [aAbBcC ...].
Вывод "locale":
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Вывод :language
внутри VIM:
Current language:
"LC_CTYPE=en_US.UTF-8;
LC_NUMERIC=C;
LC_TIME=en_US.UTF-8;
LC_COLLATE=en_US.UTF-8;
LC_MONETARY=en_US.UTF-8;
LC_MESSAGES=en_US.UTF-8;
LC_PAPER=en_US.UTF-8;
LC_NAME=en_US.UTF-8;
LC_ADDRESS=en_US.UTF-8;
LC_TELEPHONE=en_US.UTF-8;
LC_MEASUREMENT=en_US.UTF-8;
LC_IDENTIFICATION=en_US.UTF-8"
Согласно ":language" vim должен использовать "сортировку utf8", но, очевидно, это не так.