Який найпростіший спосіб вставити символи Unicode в документ?


28

Під час написання документів час від часу я хочу вставити символи Unicode. Іноді я знаю код символу, а іноді шукаю його в Інтернеті.

В даний час я переходжу до режиму вставки, а потім використовую <Ctrl-V>u{four digit hex number}, що може бути дуже трудомістким. Чи є простіший спосіб вставлення символів (можливо, якась форма вставки)?


Інше питання - це справді "особливий випадок" цього більш загального питання; відповіді будуть однаковими ... Мій коментар також стосується: Використовуйте засоби ОС (якими б вони не були), або якусь іншу програму для ОС (для Examplle, коли я використовував Windows, мені подобалося використовувати AllChars, що імітує X11 Створити ключ; він працює у всіх програмах).
Мартін Турноїй

Так, це особливий випадок, і відповіді спеціалізовані на це. Ви не вважаєте, що може бути більш узагальнене рішення, яке охоплює більше речей, про які люди не враховували, дивлячись на особливий випадок.
Мартін Йорк

Ми також могли б зробити це питання більш загальним або відзначити, що це дурня цього (навіть якщо це було раніше); Я дійсно не дбаю як такої . Але я не думаю, що виникнення обох питань, як є, допоможе комусь у довгостроковій перспективі :-)
Martin Tournoij

Якби я міг контролювати світ. Можливо, ми повинні дати йому простояти день-два, щоб, якщо зібрали якісь унікальні відповіді, які могли б відрізнити це від іншого питання. Якщо він не відповідає або відповіді є лише дублікатами, закрийте / видаліть його.
Мартін Йорк

Гаразд .. Я, безумовно, погоджуюся, що на інше питання немає чудових відповідей, і це питання має привернути кращих (сподіваємось) ... Відредагування іншого питання (щоб зробити його більш загальним) все ще залишає його з купою високо цінуваних відповіді, які стосуються лише ем тире, тож це теж не чудово ... Тож я відмовився від свого близького голосування, і як тільки це отримає якісь гідні відповіді, я проголосую за іншу дурапу цього (навіть якщо це було раніше) ... Я, звичайно, не можу контролювати те, що обирають інші.
Мартін Турноїй

Відповіді:


23

Передмова : Це не має нічого спільного з Vim як таким, але я покажу вам, що я вважаю "найкращим" способом вставити цих персонажів далеко; Система диграфів Vim майже або однакова, але вона працює лише з Vim. Це буде працювати у всіх програмах.

Це буде працювати лише для систем X11 (Linux, BSD тощо). Для Windows є AllChars . Він не оновлювався деякий час, але можу підтвердити, що він добре працює з Windows 7 (використовувався на попередній роботі). Я вважаю, що в OS X також є хороші можливості для цього вбудовані в ОС; якщо ви використовуєте OS X, я рекомендую вам перевірити їх, але оскільки я ніколи не використовував OS XI, я не можу вказати на них.

Нижче наводиться (частина) проекту статті у веб-журналі, яку я переглядаю. На жаль, справді вичерпного посібника не існує (поки що), і наведене нижче не описує всі функції, які він пропонує (наприклад, деякі частини про мертві клавіші відсутні), і в деяких частинах вони можуть бути краще написані, але я думаю, що це все ще "досить корисний".


А «Compose послідовність» віджимає Composeключ , а потім один або кілька символів , щоб зробити який- то символ не знайдено на клавіатурі, наприклад, натискання Compose, відразу після "і aможе призвести ä.

За замовчуванням Composeне прив’язаний до жодної клавіші 1 ; Права Altклавіша (ака. Alt Gr) часто використовується, але ви встановлюєте її будь-яку клавішу.

Встановіть його за допомогою xmodmap

Ви можете xmodmap встановити це:

$ xmodmap -e 'keysym Alt_R = Multi_key'     # Set it right Alt
$ xmodmap -e 'keysym Caps_Lock = Multi_key' # Set it to Caps Lock
$ xmodmap -e 'keysym F12 = Multi_key'       # You're free to use *any* key, like F12

Ви, ймовірно, хочете додати це у свій ~/.Xmodmapфайл 2 :

! Set compose key
keysym Alt_R = Multi_key

Встановіть його за допомогою XKB

Ви також можете встановити композиційний ключ як опцію XKB за допомогою setxkbmap:

setxkbmap -option compose:ralt  # Right alt
setxkbmap -option compose:caps  # Caps Lock

Щоб зробити їх постійними, додайте команду до файлу запуску X, або ви також можете встановити її у /etc/X11/xorg.conf:

Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    Option "XkbOptions" "compose:ralt"
    #Option "XkbOptions" "compose:caps"
EndSection

Або, у більш "сучасному" стилі, ви можете створити файл /etc/X11/xorg.conf.d/90-compose.conf:

Section "InputClass"
    Identifier "Set compose key"
    MatchIsKeyboard "on"
    Option "XkbOptions" "compose:ralt"
EndSection

Перелік можливих значень можна знайти в xkeyboard-config(7)розділі «Положення клавіші Compose» 3 .

Налаштування мертвих ключів

Мертвий ключ в основному використовується для додавання акценту або діакритики до листа (наприклад, умлаута, могили акценту тощо), хоча його можна використовувати для створення будь-якого символу. Це працює від ... TODO '

keycode 133 = dead_greek NoSymbol SuperR

http://zuttobenkyou.wordpress.com/2011/08/24/xorg-using-the-us-international-altgr-intl-variant-keyboard-layout/
http://stackoverflow.com/questions/14922007/how-to-enter-greek-alpha-under-xor
keycode 48 = dead_grave apostrophe


<dead_grave> <space>       : "`"   grave # GRAVE ACCENT
<dead_grave> <dead_grave>  : "`"   grave # GRAVE ACCENT
<dead_grave> <a>           : "À"   agrave # LATIN CAPITAL LETTER A WITH GRAVE

Створення ~ / .XCompose файла

Файл Compose за замовчуванням, якщо ~/.XComposeйого немає, відсутній /usr/share/X11/locale/$LANG/Compose. Маючи власні ~/.XComposeзміни заміни за замовчуванням, але ви все одно можете включити типові за допомогою:

include "%L"

Зміни в будь-якому файлі Compose набувають чинності при перезапуску програми. Вам не потрібно перезавантажувати X.

Складіть ключ

"Послідовність складання" - це натискання Composeклавіші, а потім один або кілька символів, щоб створити певний символ, наприклад:

<Multi_key> <quotedbl> <a> : "ä" adiaeresis

Означає, що натискання Compose, негайно супроводжується "і aвиробляє ä.

<Multi_key>позначає, що ми використовуємо Composeключ. ми слідуємо цьому за списком однієї або декількох клавіш, вони повинні бути keysymsсимволічними зображеннями клавіш, які використовує X (Див. розділ Ключі).

Слідом за ним :, а за ним результат.

Результат:

<Multi_key> <a>          :  "ä" adiaeresis
<Multi_key> <b> <b>      :  "ä" adiaeresis
<Multi_key> <c> <c> <c>  :  "ä" adiaeresis
<Multi_key> Alt <d>      :  "ä" adiaeresis
<Multi_key> Ctrl <e>     :  "ä" adiaeresis

Примітка . Файл Compose відрізняється від регістру, тому Aвін не такий, як a.

Мертві ключі

ЗРОБИТИ

Зробіть його в GTK & Qt

Встановити змінні середовища GTK_IM_MODULE& QT_IM_MODULEна xim.

Оболонка Борна:

# Make compose key work for GTK, Qt
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim

С оболонка:

# Make compose key work for GTK, Qt
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim

Дивись також

Моя ~/.XCompose

Це те, ~/.XComposeщо я використовую ; Я використовував сценарій для створення цього, але я випадково його перезаписав під час компіляції> _ <Тому мені потрібно його переписати.

Також врахуйте цей рядок:

<Multi_key> <i> <b> : "NL65AEGO0721647952"

Натискання Compose ibвставить цей рядок (випадковий тестовий номер IBAN); дуже корисний для тестування програм, де така кількість потрібна для створення якогось об'єкта (Person, Organisation); XCompose також може служити інструментом "фрагмент" :-)

Виноски

1: Деякі клавіатури UNIX мали виділений Composeключ ( наприклад, цей SUN ), але це досить рідко.

2: Залежно від існуючих налаштувань, це може бути, а може і не прочитане при запуску, залежно від конфігурації, додайте рядок xmodmap ~/.Xmodmapдо ~/.xinitrcабо ~/.xsession; також дивіться вікі ArchLinux .

3: Відтворено на вашу користь:

    Position of Compose key
    +------------------------------------------------------+
    |Option                Description                     |
    +------------------------------------------------------+
    |compose:ralt          Right Alt                       |
    |compose:lwin          Left Win                        |
    |compose:lwin-altgr    3rd level of Left Win           |
    |compose:rwin          Right Win                       |
    |compose:rwin-altgr    3rd level of Right Win          |
    |compose:menu          Menu                            |
    |compose:menu-altgr    3rd level of Menu               |
    |compose:lctrl         Left Ctrl                       |
    |compose:lctrl-altgr   3rd level of Left Ctrl          |
    |compose:rctrl         Right Ctrl                      |
    |compose:rctrl-altgr   3rd level of Right Ctrl         |
    |compose:caps          Caps Lock                       |
    |compose:caps-altgr    3rd level of Caps Lock          |
    |compose:102           <Less/Greater>                  |
    |compose:102-altgr     3rd level of <Less/Greater>     |
    |compose:paus          Pause                           |
    |compose:prsc          PrtSc                           |
    |compose:sclk          Scroll Lock                     |
    +------------------------------------------------------+

1
Для Windows використовуйте Wincompose замість Allchars. Це робить саме те, що написано на жерсті. Я використовував Allchars, поки не знайшов Wincompose. Обмеження композиції полягає в тому, що ви не можете мати запам'ятовуючу комбінацію, щоб охопити всіх персонажів, лише тих, якими ви користуєтесь часто, або які мають логічне розкладання.
Жил "ТАК - перестань бути злим"

@Gilles Спасибі; WinCompose виглядає приємно. Ви маєте рацію, що можете вводити лише досить обмежений набір "найбільш вживаних" символів. Для мене цього достатньо> 95% часу. В іншому я використовую UniView ... Я нічого не знаю нічого кращого ...
Martin Tournoij

Для рідко використовуваних символів я використовую Shapecatcher (ніякої інтеграції редактора, яку я не знаю) або я набираю ім'я символу ( C-x 8 RETу редакторі, який не є vi, я не знаю, чи має Vim щось подібне).
Жил "ТАК - перестань бути злим"

1
Користувачі KDE не можуть використовувати цей метод, оскільки KDE передає відповідальність за реалізацію цієї функції Xorg , а Xorg передає Qt , а Qt повертається назад до Xorg . Я обговорюю це на своїй сторінці про введення тексту RTL .
dotancohen

@dotancohen Це схоже на іншу проблему (як у запиті про функції).
Мартін Турноїй

20

Для вставки символів Unicode, таких як символи євро чи авторських прав, або діакритичних знаків, таких як німецький умлаут або могила акценту, digraphsможна використовувати.

Наприклад, у режимі вставки натисніть Ctrl+ kі введіть наступне:

  • Іспанська: a'для á, E'для É, n?для ñ,
  • Німецька: a:для ä, ssдля ß,
  • інші акцентовані літери: a!для à, a>для âдля ê, a?для ã,
  • Грецька: a*для α(альфа), b*для β(бета), g*для γ(гамма), d*для δ(дельта).
  • квадратні номери: 22для ², 33або³
  • валюти: Euза (євро), Pdза £(фунт),
  • Cofor ©(Copyright), DGfor °(ступінь),
  • OKдля , XXдля , Sbдля (куля),
  • розділові знаки: -Nfor (en dash), -Mfor (em dash)

Коли для параметра gragraph встановлено ( :set dg), ви також можете використовувати наступний метод:

  • aBackspace:за ä, EBackspaceuза тощо.

Для переліку поточно визначених типів фотографій введіть: :digraphs( :dig).

Джерело: Введення спеціальних символів на сайті Vim Wikia .


ОС X

Якщо ви використовуєте OS X, вводити букви з наголосом в будь-якому місці дуже просто наступним методом:

  • Option+ e, то aдля á, eдля é, iдля íподібного,
  • Option+ n, то aдля ã, nдля ñі подібного,
  • Option+ u, то uдля ü,
  • пунктуаційні знаки догори дном: Option+ 1для ¡, Option+ Shift+ ?для ¿,

Дивись також:


6

Мій плагін Unicode дозволяє легко вводити символи Unicode. Конкретно це дозволяє

  • :Digraph <name> - Пошук у графіках для персонажа

  • :UnicodeTable - Відображає таблицю наборів символів

  • :UnicodeName - Визначте символ під курсором

  • Завершення символів за допомогою їх імен або значень з таблиці unicode ( :h i_CTRL-X_CTRL-Z) або digarphs ( :h i_CTRL-X_CTRL_G)

Прочитайте довідку для отримання додаткової інформації про використання мого плагіна.


3

На додаток до використання заздалегідь визначених диграфів (Виконати, :digщоб отримати список), ви також можете визначити свої власні діаграми in vim:

:digr e: 235 a: 228

Дивіться також: http://vimdoc.sourceforge.net/htmldoc/digraph.html


3

Для символів, що часто використовуються, :digraphабо зовнішніх засобів, таких як згаданий ключ Compose , чудово. Для рідко використовуваних я визначаю абревіатури, наприклад:

norea <unique> unicode_smiley 😃
norea <unique> unicode_skull ☠

А потім використовуйте мій плагін SnippetComplete, щоб отримати спливаюче меню, в якому перераховані всі такі абревіатури, наприклад:unicode_<C-x>]

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.