Vim отображает среднее тире как �~@~S и длинное тире как �~@~R

Vim отображает среднее тире как �~@~S и длинное тире как �~@~R

Я использую vimна общем сервере Bluehost. Когда я пытаюсь набрать , Vim вставляет �~@~R. И когда я пытаюсь набрать , Vim вставляет �~@~S.

Проблема не связана с каким-то конкретным файлом. Похоже, она возникает в каждом файле.

Я попробовал выйти из системы и использовать ее vimвне сервера, и на этот раз я смог набрать средние и длинные тире без проблем. Так что проблема в Bluehost.

Кто-нибудь знает решение? Подозреваю, что нужно что-то добавить в .vimrcфайл.

Подробнее:

Это происходит только в Vim, а не в командной строке.

Я не использую графический Vim.

Если я введу :lang, то получу «Текущий язык: «C»».

Если я вызываю vim с LC_ALL=C vim foo, то проблема все равно возникает.

Редактировать:Я обнаружил, что если я вхожу set encoding=utf-8, то проблема решается, по крайней мере временно.

решение1

Хорошо, я думаю, что решение — изменить кодировку Vim, открыв .vimrc и введя

set encoding=utf-8
set fileencoding=utf-8

и затем сохраняем файл.

решение2

поместите это в ваш .vimrc

set encoding=utf-8

Как это написано в vim.stackexchangeУкажите кодировку UTF-8 в Vimrc

Связанный контент