Предположим, у меня есть файл со следующим содержанием:
c
C
b
B
a
A
Когда я делаю :%sort
, Я получаю следующий результат:
A
B
C
a
b
c
Когда я делаю :%!sort
(обратите внимание на '!'), я получаю
a
A
b
B
c
C
Я получаю такое же поведение с регулярными выражениями, т.е. [A-Z] внутри 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", но, очевидно, это не так.