Створення конкретного символу ASCII в Ubuntu


19

Я звик утримувати left Altі вводити символ ASCII, коли я використовую невідому конфігурацію клавіатури і хочу ввести спеціальний символ.

Наприклад, Alt+ 0+ 9+ 2робить зворотну косу рису (\).

Це в Windows. Чи є спосіб це зробити в Ubuntu?

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


Існує загальне питання про те, чи можливо це зробити шляхом Windows на AskUbuntu, за адресою askubuntu.com/questions/588090 .
JdeBP

Дивіться також unix.stackexchange.com/questions/254477 про Unix та Linux.
JdeBP

Відповіді:


26

Якщо ви використовуєте Gnome (фондовий Ubuntu), ви можете зробити це, утримуючи Ctrlі Shiftклавіші, і клавіші та набравши uподальше шістнадцяткове значення символу.

Щоб створити зворотний кут \, слід утримувати Ctrl+ Shiftі натискати U, 5і C.

У Windows ви вводите десяткове значення, тоді як в Linux ви вводите шістнадцяткове значення (яке зазвичай коротше, якщо ви переходите у більші числа). U означає Unicode.

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


4
"Шістнадцяткове значення" насправді є
кодовою точкою

Ого. Саме те, що мені було потрібно! Працює скрізь, як шарм. Дякую.
Філіпп Кер'єр

1
Тепер мені потрібно лише вивчити всі коди в hexa .... :(
Philippe Carriere

Хтось знає, як отримати цю роботу в Піднесеному тексті?
П’яний майстер

6

Інший варіант (але він не вставляє символ за кодом ASCII / Unicode) - активувати ComposeKey (як Altв моєму випадку), щоб потім можна було вводити такі речі, як:

  • Alt+ =+ e→ €
  • Alt+ '+ e→ é
  • Alt+ ^+ e→ ê

і т.д. Якщо ви хочете ввести латинські літери, що часто використовуються (як на іспанській, французькій та ін.), це може бути швидше, ніж вивчити точки коду Unicode. Вся справа у виборі!


Вам не потрібна розкладка клавіатури, яка не є США?
Cristian Ciupitu

2
@CristianCiupitu: Ні, вам потрібно включити ключ Compose.
Ігнасіо Васкес-Абрамс

@ IgnacioVazquez-Abrams, ти маєш рацію. Здається, що в моєму середовищі XFCE 4.10 на робочому столі взагалі не була встановлена ​​клавіша Compose, але після встановлення її на праву клавішу Alt відповідь спрацювала (тому +1 від мене).
Cristian Ciupitu

5

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

$ echo $'\x5c'
\

1
Це дуже приємний метод .... Я навіть не можу знайти його на сторінках ехо, але він працює! Чи є спосіб надати десятковий код замість шістнадцяткового? (Я дізнався десяткові коди напам’ять)
Philippe Carriere

Чи є спосіб використовувати це, коли я перебуваю у ві або нано?
Філіпп Кер’єр

2
Ні, їх можна вводити лише в шістнадцятковій ( \xNN) або восьмеричній ( \NNN). Ви можете використовувати, printfякщо ви хочете переглянути шістнадцятковий код для значення. In vim ви можете ввести Ctrl-V U, а потім 4-розрядну кодову точку Unicode. Також розділ QUOTING .
Ігнасіо Васкес-Абрамс

2
@Silence: (1) Тому що це особливість вашої оболонки (як правило bash), а не echo.
grawity

@PhilippeCarriere In vi ви можете виконувати команди оболонки, попередньо :!начебто :!ls. Ви також можете вставити вихід у поточний буфер, використовуючи :r !. Мені часто не вистачає характеру тильди, тому я використовую :r !echo $'\x7e'. Ще трохи про це тут .
дійсна

1

З питань поширених запитань UTF-8 та Unicode для Unix / Linux від Маркуса Куна:

Розгорніть відображення клавіатури за допомогою xmodmap . Це особливо зручно, якщо на вашій клавіатурі є AltGrклавіша, яка призначена саме для цієї мети (деякі клавіатури в США замість AltGrпросто правої Altклавіші, інші, на жаль, не мають цієї клавіші, на жаль, в цьому випадку якійсь іншій клавіші має бути призначена функція Mode_switch) . Напишіть файл ~/.Xmodmapіз записами, такими як

keycode 113 = Mode_switch Mode_switch
keysym d = d NoSymbol degree        NoSymbol
keysym m = m NoSymbol emdash        mu
keysym n = n NoSymbol endash        NoSymbol
keysym 2 = 2 quotedbl twosuperior   NoSymbol
keysym 3 = 3 sterling threesuperior NoSymbol
keysym 4 = 4 dollar   EuroSign      NoSymbol
keysym space = space  NoSymbol      nobreakspace NoSymbol
keysym minus = minus  underscore    U2212        NoSymbol
keycode 34 = bracketleft  braceleft  leftsinglequotemark  leftdoublequotemark
keycode 35 = bracketright braceright rightsinglequotemark rightdoublequotemark
keysym KP_Subtract = KP_Subtract NoSymbol U2212    NoSymbol
keysym KP_Multiply = KP_Multiply NoSymbol multiply NoSymbol
keysym KP_Divide   = KP_Divide   NoSymbol division NoSymboll

і завантажте його xmodmap ~/.Xmodmapзі свого сценарію запуску X11 на ваш X-сервер. Потім ви побачите, що AltGrлегко отримуєте з клавіатури такі нові символи:

  • AltGr+ d→ °
  • AltGr+ [→ '

0

Не зовсім те, що просить ОП, але, можливо, цього достатньо для того, хто це читає.

Залежно від обраного клавіатурного розкладу, ви вже зможете набрати деякі символи unicode та ASCII; так само, як у macOS. Клацніть на селекторі мови біля піктограми лотка (якщо у вас є), а потім Show Keyboard Layoutперегляньте альтернативні символи окремих клавіш.

Наприклад, ви можете ввести… (еліпсис) за допомогою right ALT + ., а ÷ (поділ) за допомогою right ALT + SHIFT + ..

Більше того, ці натискання навіть спрацьовують у Sublime, який виявився більш впертим CTRL + SHIFT + U.

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