Чи існує універсальний спосіб написання символів Unicode?


18

Іноді я хочу писати спеціальні символи Unicode, наприклад, em-dash (-), в різних програмах, таких як vim, Chrome (як зараз!) Або LibreOffice.

У LibreOffice я можу досягти цього за допомогою спеціального діалогового вікна, знайденого в меню Вставка. Інші програми, схоже, не мають вбудованого способу. Моє рішення в цих випадках - знайти персонажа у Вікіпедії, скопіювати його та вставити.

Чи існує універсальний спосіб написання символів Unicode в будь-якій програмі, яка приймає введення тексту в Linux, не копіюючи та вставляючи звідкись, де вона вже надрукована?


Ви можете шукати "Unicode input" у Вікіпедії. Зараз згадується у моїй відповіді.
vinc17

У LibreOffice (і MS Office) також є список автоматичних підстановок, наприклад (C)-> ©. Досить часто люди налаштовуються --як ен-тире та ---як ем-тире.
Саймон Ріхтер

Is there a universal way...Ні. (Я не знаю про "універсальний" спосіб зробити що- небудь за допомогою програмування.)
user2338816

Відповіді:


14

Або ви можете ввімкнути Composeклавішу, або ви можете натиснути, CtrlShiftUза яким слідує шістнадцяткове число символу Unicode (провідні нулі можна пропустити). Наприклад, Æ є CtrlShiftU, значить C6. Це працює на терміналах GNOME, Terminator, Google Chrome та ряді інших додатків, оскільки Xterm (і згідно з коментарями Emacs) не працює.

У GNOME, щоб увімкнути Compose, перейдіть до налаштувань клавіатури, а потім клавіші швидкого доступувведення текстуклавіша альтернативних символів і відображіть їх на щось (скажімо, Right Alt). Потім ви натискаєте Composeклавішу і - втричі, щоб отримати ем-тире: -. (Стрілки в цьому пункті - усі Compose->.)

введіть тут опис зображення


2
Рішення Ctrl + Shift + u не працює в Xterm та Emacs. Він також не працює у Firefox.
vinc17

2
@ vinc17 для мене це працює у Firefox. У мене немає ні Xterm, ні Emacs для тестування.
муру

Гммм, так, це працює у Firefox, але я повинен набрати клавішу Space після шістнадцяткової послідовності. У будь-якому випадку це не універсально, але, ймовірно, функція, яку додають деякі програми (чи деякі менеджери вікон?). Крім того, це не працює в Opera.
vinc17

AltGr - це лише модифікатор для отримання додаткових комбінацій клавіш. Це те, що я використовую для введення символів, перелічених у моїй відповіді (наприклад, Shift + AltGr + [дає ←). Але користувач також може відображати символи на інші клавіші, такі як функціональні клавіші; це те, що я роблю, щоб познайомитися з французькими символами: éèêëâîôûàùïç. Все, що робиться через налаштування XKB.
vinc17

@ vinc17 Я зробив епічний провал. Я говорив про Compose і замість цього сказав AltGr.
муру

7

Найкращий спосіб - це все-таки набрати символ на клавіатурі. Завдяки XKB ви можете прив’язувати довільні символи Unicode до комбінацій клавіш. Наприклад, за допомогою налаштування користувача XKB я можу вводити безпосередньо: ← → ↑ ↓… € ½ «» - - ± ≠ ∩ ∪ ⊂ ∨ ∀ ∃ √ √ ≤ ≥ тощо.

Примітка. У конкретному випадку GNU Emacs композицію Unicode можна виконати за допомогою Ctrlx+ 8+ Return. Дивіться Ctrlx+ 8+ Ctrlhдля додаткових методів.

"Введення Unicode" у Вікіпедії дає інформацію про введення ISO 14755 Unicode залежно від контексту, зокрема для X11 з деякими наборами інструментів та для конкретних програм (Emacs, Opera, Vim).

Крім того, ви можете використовувати Composeключ із визначеними користувачем налаштуваннями (оскільки налаштування за замовчуванням далеко не завершені). Документація надається Compose(5)довідковою сторінкою. Наприклад, напишіть файл, $HOME/.XComposeщо містить:

include "%L"
<Multi_key> <bracketleft> <c>           : "⌈" U2308 # LEFT CEILING
<Multi_key> <bracketright> <c>          : "⌉" U2309 # RIGHT CEILING
<Multi_key> <bracketleft> <f>           : "⌊" U230A # LEFT FLOOR
<Multi_key> <bracketright> <f>          : "⌋" U230B # RIGHT FLOOR

У include "%L"лінії спочатку завантажує значення по замовчуванням (локалізованих) Compose файл, а наступні чотири рядки додати визначені користувачем параметри, такі як: Compose+ [+ cдає характер лівий стелю «⌈» (U + 2308).


Вам не потрібно XKB, щоб прив'язувати символи Unicode до комбінацій клавіш, ви також можете це зробити за допомогою xmodmap. Ви не зможете досягти всіх символів Unicode таким чином, їх дуже багато.
Жил "ТАК - перестань бути злим"

1
@Gilles xmodmap не настільки потужний, як XKB, і у мене були проблеми з цим раніше . Звідси мій перехід на XKB. Більше того, я не використовую всі символи Unicode. Для рідкісних символів найкращим рішенням може бути вибір на екрані, тому що ви можете не знати їх кодової точки та способів їх введення.
vinc17

Я не розумію, як ви вводите ∩ ∪ ⊂ ∧ ∨ ∀ з compose. Решта «» € ₤ ö і т.д. працює. Але не математичні символи.
Ігор Чубін

@IgorChubin Я не використовую композит, просто ISO_Level3_Shift(він же AltGr). Я щойно відредагував свою відповідь, щоб надати посилання на свою веб-сторінку, що пояснює налаштування XKB користувача .
vinc17

@ vinc17 Дякую, я прочитаю докладніше про це. Чи знаєте ви якісь переваги цього методу порівняно з композицією?
Ігор Чубін

2

Як детально описано в цій публікації , є чудовий спосіб додати клавіші unicode, не запам’ятовуючи ніяких незручних комбінацій клавіш або використовувати будь-які спадні меню.

Він зводиться до використання функції автоматичної клавіші , яка може спричинити будь-який набір натискань клавіш як тригер для запуску сценарію або вставлення фрази. У цьому випадку ваша фраза є просто символом unicode, який ви хочете.

Як описано у публікації, хороший спосіб зробити це - слідувати LaTeX, але з нахилом вперед, а не з наступним нахилом. Наприклад, введення / дельта в будь-якому місці (браузер, вільний офіс тощо) автоматично перетвориться на δ.

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