Подтвердить что ты не робот

Как вставить символы, отличные от ASCII, в vim?

Мой эмулятор терминала настроен для кодировки символов Unicode, а мой .vimrc содержит строку

set encoding=utf-8

но когда я пытаюсь вставить слово "café" в vim, оно появляется как "café".

Я могу сделать "é" в vim, набрав Ctrl-vu, за которым следует 4-символьная кодовая точка (00e9), но мне нужна возможность вставить ее.

4b9b3361

Ответ 1

Решение заключалось в том, чтобы снять флажок "Escape not-ASCII input" на вкладке "Дополнительно" в параметрах Terminal.app.

Ответ 2

  • Откуда вы пытаетесь вставить его? Если это опера, то после того, как паста opera-10.5 * сломана в обоих направлениях. Прежде чем вставлять что-нибудь, вам нужно использовать xclip -o|xclip -i обходной путь (добавить -sel clip для буфера обмена).
  • Какую команду вы используете?

Ответ 3

Вместо копирования символа из буфера обмена и вставки его в текстовый редактор вы можете добавить его в файл с помощью функции vim digraph.

Итак, с настройками по умолчанию, используя ваш пример, вы можете войти в режим вставки, а затем нажать Control-k и набрать e '. Результат будет равен.

Вы можете просмотреть список определенных орграфов, запустив

: орграфы

и общая помощь, запустив

: help digraph

который также объясняет, как настроить ваши сопоставления.

Если вы действительно установите для вставки символов, Shift-Insert всегда работал у меня.

Ответ 4

Как ввести код без ASCII в vi

Вам нужно будет знать, какова ваша кодировка для ввода правильных кодов, я полагаю, вы оставили VI по умолчанию.

В VI перейдите в режим вставки, в режиме вставки нажмите

Ctrl-v 172

Это должно вставить символ Logical Not (боком и инвертированный L), указанный здесь:

http://www.htmlhelp.com/reference/charset/iso160-191.html