Vim — навигация по документам не работает с кириллическими текстами в Windows, но работает в Linux.

Доброе утро!

Недавно я установил gvim на Windows 10 и запустил vimtutor. Мой родной язык русский, а vimtutor по умолчанию переведен.

После входа в урок 2.1 я обнаружил, что не могу использовать dw для удаления слов. С помощью этой команды я могу удалить 1, а иногда и 2 буквы в слове. Я не могу удалить все слово, как говорит vimtutor. Пример текста из vimtutor:

Несколько слов рафинад в этом предложении автокран излишни.

В целях тестирования я вставил некоторый текст, используя латинские символы, и протестировал dw. Все правильно удаляет.

Поэтому, когда я использую gvim в Windows 10, я не могу завершить vimtutor, потому что он неправильно работает с нелатинскими символами. Я нашел аналогичный вопрос здесь Похожий вопрос Ответ был не использовать кириллические символы. К сожалению, ответивший не до конца понял проблему. Вопрос был о редактировании нелатинского текста, а ответ был об использовании нелатинских символов в командном режиме (что для меня не проблема).

Я продолжил свои исследования и обнаружил, что консольная версия vim в Windows 10 имеет ту же проблему: я не могу редактировать тексты с кириллическими символами.

Затем я загрузил свою систему OpenSUSE i3 и запустил там vimtutor. Внезапно все команды работают правильно, и я могу завершить вимтутор (даже если он в основном содержит символы кириллицы).

Я пропустил некоторые этапы установки в Windows или это ошибка? Почему dw не работает только с нелатинскими словами и только в Windows?


person proggamer12    schedule 13.07.2021    source источник
comment
У меня нет ответа на ваш вопрос, но это может быть проблема кодировки символов. w в vim означает word, который представляет собой набор букв, цифр и знаков подчеркивания. Это понятие может быть расплывчатым, если мы говорим о нелатинских символах, и может зависеть от реализации. В качестве альтернативы, W (верхний регистр) означает WORD в терминологии vim (непустые символы). Так что dW должно работать в вашем случае. См. справку vim по word и WORD.   -  person Guillaume Courrier    schedule 14.07.2021


Ответы (1)


После создания задачи на Github (https://github.com/vim/vim/issues/8588) Я получил ответ от habamax о проблеме. Похоже, что в старых версиях Windows vim utf-8 по умолчанию не используется. Редактирование vimrc или использование ночной сборки (как предложил habamax в проблеме) решает проблему.

person proggamer12    schedule 19.07.2021