Как печатать специальные символы в 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>».
Вы можете искать изображение международной раскладки США, пока не запомните расположение нужных вам символов.