Необходимо ввести специальный символ в vi

Я хочу набирать ½ в режиме vi, но он идет с дополнительным символом ½ . Я ALT+0189 . Я искал много на том же, но не смог.

Пожалуйста, порекомендуйте.

2 Solutions collect form web for “Необходимо ввести специальный символ в vi”

Если запись через терминал не работает (похоже, что существует несоответствие кодировки), вы можете вернуться к встроенным методам Vim для ввода специальных символов.

орграфы

Удобный способ :help digraphs . Таблица в :help digraph-table перечисляет этот особый символ:

 ½ 12 0xbd 189 VULGAR FRACTION ONE HALF 

Чтобы вставить, введите Ctrl + K , а затем 1 и 2 .

запись по номеру

Это описано в :help i_CTRL-V_digit . С десятичным числом введите Ctrl + V , 1 8 9 . Вы также можете использовать шестнадцатеричное представление ( xbd ).

Я хочу набирать ½ в режиме vi, но он идет с дополнительным символом ½ .

Нет.

Что происходит, так это то, что ваш терминал отправляет этот символ, кодированный как UTF-8. Символом является U + 00BD, а его кодировка UTF-8 – это две 8-битовые последовательности символов, шестнадцатеричные значения которых являются C2 BD .

vim думает, что вы не печатаете в UTF-8. Он думает, что вы набрали два 8-битных символа, первый символ U + 00C2, а затем символ U + 00BD. Следовательно, он вставляет эти два символа.

Создание vim считает, что вы используете UTF-8 – это путешествие в сложный мир локалей и кодировок. В настоящее время vim полагает, что ваш терминал генерирует вход Latin-1 (ISO 8859-1). Вам нужно, чтобы vim полагал, что ваш терминал генерирует вход UTF-8.

Кроме того: из того, что похоронили в комментариях к другому ответу, также очевидно, что ваш текст справки не рассматривается как UTF-8, указывая на то, что он не работает внутри UTF-8, вероятно, потому, что переменные среды ( LANG , LC_ALL и т. Д.) Не LC_ALL локаль UTF-8. Для того, чтобы vim правильно обрабатывал вход UTF-8, лучше всего использовать UTF-8 внутренне, как его общую кодировку.

Что-то вроде

  : set termencoding = utf-8 encoding = utf-8 

скорее всего, лучший способ действий. Но вы также можете настроить переменные среды.

  • Cron создает vim-процесс, но не отображает vim
  • Лучше цвета, поэтому комментарии не синие в Vim?
  • Vim - как заменить одну новую строку \ n двумя \ n
  • Проблема с использованием клавиш Ctrl + Arrow в Vim при использовании Byobu с tmux
  • Тип файла не обнаружен
  • Ошибка Vim E138: не удается написать файл viminfo $ HOME / .viminfo!
  • Копировать-вставку для vim не работает, когда включена функция мыши (: set mouse = a)?
  • Преимущества использования буферов vim на терминалах tmux / dwm
  • vipe misbehaving при замене процесса bash
  • Приостановите процесс молча с помощью ctrl-z
  • Vim приостанавливается случайным образом в течение минуты или около того за раз
  • Linux и Unix - лучшая ОС в мире.