При написании документов иногда я хочу вставлять символы Unicode в текст. Иногда я знаю код символа, а иногда я ищу его в Интернете.
В настоящее время я иду, чтобы вставить режим, а затем использовать <Ctrl-V>u{four digit hex number}
, который может быть очень трудоемким. Есть ли более простой способ вставки символов (возможно, какая-то форма вставки)?
insert-mode
unicode
input-methods
Мартин Йорк
источник
источник
Ответы:
Предисловие : Это не имеет никакого отношения к Vim как таковому, но я покажу вам, что я считаю «лучшим» способом вставки этих символов на сегодняшний день; Система управления графиком в Vim примерно такая же, но она работает только с Vim. Это будет работать во всех приложениях.
Это будет работать только для систем X11 (Linux, BSD и т. Д.). Для Windows есть AllChars . Он не обновлялся некоторое время, но я могу подтвердить, что он хорошо работает с Windows 7 (использовал его на моей предыдущей работе). Я считаю, что OS X также имеет хорошие возможности для этого, встроенные в ОС; если вы используете OS X, я рекомендую вам проверить их, но так как я никогда не использовал OS X, я не могу указать вам на них.
Ниже приведена (часть) черновая статья в блоге, которую я готовлю. К сожалению, действительно всеобъемлющего руководства не существует (пока), и ниже не описываются все функции, которые оно предлагает (например, некоторые части о мертвых ключах отсутствуют), и его можно было бы лучше написать в некоторых частях, но я думаю, что это все еще "достаточно полезно".
«Составить последовательность» - это нажатие Composeклавиши, а затем одного или нескольких символов, чтобы создать какой-либо символ, которого нет на вашей клавиатуре, например, нажатие Compose, сразу за которым следует "и aможет вызвать
ä
.По умолчанию Composeне привязан ни к одной клавише 1 ; Правая Altклавиша (aka. Alt Gr) часто используется, но вы устанавливаете ее на любую клавишу, которую хотите.
Установите его с помощью xmodmap
Вы можете использовать
xmodmap
для установки этого:Вы, вероятно, хотите добавить это в свой
~/.Xmodmap
файл 2 :Установите его с помощью XKB
Вы также можете установить ключ compose в качестве опции для XKB с помощью
setxkbmap
:Чтобы сделать их постоянными, добавьте команду в файл запуска X или, в качестве альтернативы, вы также можете установить ее в
/etc/X11/xorg.conf
:Или, в более «современном» стиле, вы можете создать файл
/etc/X11/xorg.conf.d/90-compose.conf
:Список возможных значений можно найти в
xkeyboard-config(7)
разделе «Положение клавиши Compose» 3 .Настройка мертвых ключей
Мертвый ключ используется главным образом для добавления акцента или диакритического знака к букве (например, умлаут, могила акцента и т. Д.), Хотя его можно использовать для создания любого символа. Это работает ... TODO '
Создание файла ~ / .XCompose
По умолчанию файл Compose
~/.XCompose
отсутствует/usr/share/X11/locale/$LANG/Compose
. Наличие ваших собственных~/.XCompose
переопределяет значение по умолчанию, но вы все равно можете включить значение по умолчанию с помощью:Изменения любого файла Compose вступают в силу при перезапуске приложения. Вам не нужно перезапускать X.
Составить ключ
«Составьте последовательность» - нажмите Composeклавишу, а затем один или несколько символов, чтобы получить какой-либо символ, например:
Означает, что нажатие Composeсразу следует "и aвыдает
ä
.<Multi_key>
обозначает, что мы используем Composeключ. затем мы следуем за этим списком из одного или нескольких ключей, которые должны бытьkeysyms
, которые являются символическими представлениями ключей, используемых X (см. раздел Keysyms).Затем следует результат
:
, за которым следует результат.Результат:
Примечание : A Compose файл чувствителен к регистру, поэтому
A
это не то же самое , какa
.Мертвые ключи
СДЕЛАТЬ
Заставь это работать в GTK & Qt
Установите переменные среды
GTK_IM_MODULE
&QT_IM_MODULE
вxim
.Оболочка Борна:
C оболочка:
Смотрите также
мой
~/.XCompose
Это то,
~/.XCompose
что я использую ; Я использовал скрипт для генерации этого, но я случайно переписал это при компиляции> _ <Так что мне нужно переписать его.Также обратите внимание на эту строку:
Нажатие Compose ibвставит эту строку (случайный тестовый номер IBAN); очень полезно для тестирования приложений, где такое число требуется для создания какого-либо объекта (Person, Organization); XCompose также может служить инструментом «сниппет» :-)
Сноски
1: У некоторых клавиатур UNIX была выделенная Composeклавиша ( например, это SUN ), но в наши дни это довольно редко.
2: В зависимости от вашей существующей настройки, это может или не может быть прочитано при запуске, в зависимости от вашей конфигурации, добавьте строку
xmodmap ~/.Xmodmap
в~/.xinitrc
или~/.xsession
; также смотрите ArchLinux вики .3: Воспроизводится для вашей выгоды:
источник
C-x 8 RET
в редакторе, который не является vi, я не знаю, есть ли в Vim что-то похожее).Для вставки символов Юникода, таких как символы евро или авторского права, или диакритических знаков, таких как германская умлаут или акцентная могила,
digraphs
можно использовать.Например, в режиме вставки нажмите Ctrl+ kи введите следующее:
a'
дляá
,E'
дляÉ
,n?
дляñ
, для ,a:
дляä
,ss
дляß
,a!
дляà
,a>
для,â
дляê
,a?
дляã
,a*
дляα
(альфа),b*
дляβ
(бета),g*
дляγ
(гамма),d*
дляδ
(дельта).22
для²
,33
или³
Eu
для€
(евро),Pd
для£
(фунт),Co
для©
(Авторское право),DG
для°
(Степень),OK
для✓
,XX
для✗
,Sb
для∙
(пули),-N
for–
(en dash),-M
for—
(em dash)Когда опция digraph установлена (
:set dg
), вы также можете использовать следующий метод:a
Backspace:
дляä
,E
Backspaceu
для€
и т. д.Чтобы получить список определенных диграфов, наберите:
:digraphs
(:dig
).Источник: ввод специальных символов на сайте Vim Wikia .
OS X
Если вы используете OS X, очень легко набирать акцентированные буквы в любом месте следующим способом:
á
, eдляé
, iдляí
и подобное,ã
, nдляñ
и подобных,ü
,¡
, Option+ Shift+ ?для¿
,Смотрите также:
источник
Мой плагин Unicode позволяет легко вводить символы Unicode. Конкретно это позволяет
:Digraph <name>
- Поиск орграфов для персонажа:UnicodeTable
- отображает таблицу символов:UnicodeName
- Определить символ под курсоромЗавершение символов с использованием их имен или значений из таблицы Unicode (
:h i_CTRL-X_CTRL-Z
) или дигарфов (:h i_CTRL-X_CTRL_G
)Прочтите справку для получения дополнительной информации о том, как использовать мой плагин.
источник
В дополнение к использованию предопределенных орграфов (Выполнить,
:dig
чтобы получить список), вы также можете определить свои собственные орграфы в vim:Смотрите также: http://vimdoc.sourceforge.net/htmldoc/digraph.html
источник
Для часто используемых символов
:digraph
или внешних средств, таких как упомянутый ключ Compose , отлично. Для редко используемых я определяю сокращения, как это:А затем используйте мой плагин SnippetComplete, чтобы получить всплывающее меню, в котором перечислены все такие сокращения, например:
unicode_<C-x>]
источник