Как вставить не-ASCII символы в vim? - PullRequest
11 голосов
/ 15 ноября 2010

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

set encoding=utf-8

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

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

Ответы [ 4 ]

12 голосов
/ 19 ноября 2010

Решением было снять флажок «Escape non-ASCII input» на вкладке «Дополнительно» настроек Terminal.app.

1 голос
/ 01 ноября 2012

Как набрать код не ASCII в vi

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

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

Ctrl-v 172

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

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

1 голос
/ 15 ноября 2010

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

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

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

: орграфы

и общую справку, запустив

: справочный диграф

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

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

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