Как печатать специальные символы в Linux?

В окнах есть возможность набирать с клавиатуры специальные знаки, удерживая клавишу Alt и вводя несколько цифр, в зависимости от того, какой знак вы хотите использовать. Работает ли он с Linux так же?

7 ответов

Решение

Вы можете использовать Ctrl + Shift + u с последующим кодом в шестнадцатеричном виде. (Вам нужно только удерживать клавиши Ctrl и Shift при наборе кода)

X использует то, что называется ключом compose. Нажав Compose, некоторую клавишу, некоторую клавишу... последовательно, вы можете вводить символы. У меня есть мой ключ для составления меню; набрать © (символ авторского права), я бы использовал Menu, o, c.

Полный список комбинаций клавиш X compose можно найти онлайн (200 КиБ) или локально в /usr/share/X11/locale/en_US.UTF-8/Compose,

В Gnome ключ компоновки можно установить, перейдя в "Настройки" → "Клавиатура" → вкладка "Макеты" → "Параметры макета" → "Положение".

Ввод символов Unicode в Linux различен. В UTF-8 и Unicode FAQ есть раздел, содержащий различные методы ввода:

  • Ctrl+Shift+U [unicode in hex] определено в ISO 14755 и реализовано GTK2+, и работает в GNOME-Terminal и других приложениях.
  • Ctrl+V u [unicode in hex] работает в VIM.
  • Alt+[unicode in decimal using numpad digits] работает на консоли при условии, что ваша среда должным образом настроена на ожидание UTF-8 (через переменные среды LOCALE или LANG). ( unicode_start manpage).

Другие методы, которые вы могли бы использовать:

  • Вырежьте и вставьте символы из небольшого входного файла, содержащего нужные вам символы.
  • использование xmodmap переназначить ключи в X (примеры приведены в разделе FAQ).

Консоль Linux также поддерживает ключи компоновки (ключ компоновки часто представляет собой Alt + AltGr или PrintScrn ) - подробности см. В разделе Как определить ключ компоновки в терминале в Unix и Linux Stack Exchange.

Альтернативный способ: используйте Ctrl+ Shift+ с u последующим шестнадцатеричным кодом и Enter.

В отличие от принятого ответа подсказывает, не удерживайте Ctrl и Shift во время набора кода. В противном случае это может не сработать, потому что может конфликтовать с некоторыми сочетаниями клавиш используемого вами приложения, например Ctrl+ Shift+ c в эмуляторе терминала. Хотя это может быть ошибкой.

Этот способ работает как минимум с xfce4-терминалом, gnome-terminal, lxterminal, libreoffice, ковриком для мыши, браузером Chrome и firefox.

Существует лучший способ для Linux и Windows, чем использование кодов alt-key, при котором вам не нужно запоминать какие-либо коды. Это подробно описано здесь.

Суть в том, что вы используете AutoHotKey (Windows) или AutoKey (Linux). Оба запускаются в фоновом режиме и принимают произвольные строки в качестве триггера для запуска команды, которая в этом случае заключается в отправке специального символа в буфер обмена и вставке его в любую используемую в данный момент программу.

В приведенном примере в качестве триггера используется /delta (включая косую черту). После ввода этих шести символов они удаляются и заменяются на δ.

Если вы являетесь пользователем клавиатуры в США и вам нечасто приходится вводить специальные символы, я рекомендую переключить раскладку клавиатуры на вариант «us(altgr-intl)» — это нотация XKB. Ваша клавиатура будет работать нормально, если вы не удерживаете правую клавишу Alt, также известную как «AltGr», тогда вы в основном сможете получить доступ к дополнительным символам, показанным здесь синим цветом:

Я говорю «в основном», потому что это скриншот основной раскладки US International. Я нашел подробности варианта «altgr-intl», определенного в этом файле в Arch Linux:/usr/share/X11/xkb/symbols/us: Вот определенные там различия:

      // five dead keys moved into level3:

  ┊key <TLDE> { [    grave, asciitilde,  dead_grave,   dead_tilde      ] };
  ┊key <AC11> { [apostrophe,quotedbl,    dead_acute,   dead_diaeresis  ] };

// diversions from the MS Intl keyboard:

  ┊key <AE01> { [        1, exclam,      onesuperior,  exclamdown      ] };
  ┊key <AD04> { [        r, R,           ediaeresis,   Ediaeresis      ] };
  ┊key <AC07> { [        j, J,           idiaeresis,   Idiaeresis      ] };
  ┊key <AB02> { [        x, X,           oe,           OE              ] };
  ┊key <AB04> { [        v, V,           registered,   registered      ] };

// onequarter etc (not in iso8859-15) moved to get three unshifted deadkeys:

  ┊key <AE06> { [        6, asciicircum, dead_circumflex, onequarter    ] };
  ┊key <AE07> { [        7, ampersand,   dead_horn,       onehalf       ] };
  ┊key <AE08> { [        8, asterisk,    dead_ogonek,     threequarters ] };

В этой альтернативной раскладке нет дополнительных «мертвых клавиш», которые есть в основной международной раскладке.

Четыре столбца в каждом массиве: Regular, Shifted, AltGr, AltGr Shifted.

Например, чтобы ввести ¡, я нажимаю «<Shift-AltGr-1>».

Вы можете искать изображение международной раскладки США, пока не запомните расположение нужных вам символов.

Другие вопросы по тегам