Produire un caractère ASCII spécifique dans Ubuntu

19

J'ai l'habitude de maintenir le left Altet d'entrer le caractère ASCII chaque fois que j'utilise une configuration de clavier inconnue et que je veux taper un caractère spécial.

Par exemple, Alt+ 0+ 9+ 2crée une barre oblique inverse (\).

C'est sous Windows. Existe-t-il un moyen de le faire dans Ubuntu?

Remarque: je souhaite également pouvoir l'utiliser en mode console. Cela signifie que je ne veux pas d'une solution impliquant un logiciel avec une interface graphique.

Philippe Carriere
la source
Il y a une question générale à savoir s'il est même possible de faire cela à la manière de Windows sur AskUbuntu, à askubuntu.com/questions/588090 .
JdeBP
Voir aussi unix.stackexchange.com/questions/254477 sous Unix et Linux.
JdeBP

Réponses:

26

Si vous utilisez Gnome (stock Ubuntu fait) , vous pouvez le faire en appuyant simultanément sur la Ctrlet les Shifttouches et en tapant usuivi par la hexadécimale valeur du caractère.

Pour produire la barre oblique inverse \, maintenez Ctrl+ enfoncé Shiftet appuyez sur U, 5et C.

Sous Windows, vous saisissez la valeur décimale tandis que sous Linux, vous saisissez la valeur hexadécimale (qui est généralement plus courte si vous entrez des chiffres plus élevés). Le u signifie Unicode.

Un tableau assez complet de valeurs hexadécimales peut être trouvé ici . Attention, la page peut être longue à charger!

Emilien
la source
4
La "valeur hexadécimale" est en fait le point de code Unicode, contrairement aux "codes Alt" qui sont ASCII
grawity
Sensationnel. Exactement ce dont j'avais besoin! Fonctionne partout comme un charme. Je vous remercie.
Philippe Carriere du
1
Il ne me reste plus qu'à apprendre tous les codes en hexa .... :(
Philippe Carriere
Quelqu'un sait-il comment obtenir ce travail dans Sublime Text?
Drunken Master
6

Une autre option (mais elle n'insère pas de caractère par le code ASCII / Unicode) est d'activer la ComposeKey (comme Altdans mon cas), afin que vous puissiez ensuite taper des choses comme:

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

etc. Si vous souhaitez entrer des lettres latines fréquemment utilisées (comme en espagnol, français, etc.), cela pourrait être plus rapide que d'avoir à apprendre les points de code Unicode. Il s'agit d'avoir le choix!

Emilien
la source
N'avez-vous pas besoin d'une disposition de clavier non américaine pour cela?
Cristian Ciupitu
2
@CristianCiupitu: Non, vous devez activer une clé de composition.
Ignacio Vazquez-Abrams
@ IgnacioVazquez-Abrams, vous avez raison. Il semble que mon environnement de bureau XFCE 4.10 n'ait pas du tout défini la touche Composer, mais après l'avoir définie sur la bonne touche Alt, la réponse a fonctionné (donc +1 de ma part).
Cristian Ciupitu
5

Le pilote de console de Linux n'a pas la possibilité de saisir des caractères de cette façon ... mais ce n'est pas vraiment nécessaire car les shells peuvent gérer cela eux-mêmes.

$ echo $'\x5c'
\
Ignacio Vazquez-Abrams
la source
1
C'est une très bonne méthode .... Je ne la trouve même pas dans les pages de manuel d'écho mais ça marche! Existe-t-il un moyen de fournir le code décimal au lieu de celui hexadécimal? (J'ai appris les codes décimaux par cœur)
Philippe Carriere
Existe-t-il un moyen de l'utiliser lorsque je suis en vi ou nano?
Philippe Carriere
2
Non, ils ne peuvent être entrés qu'en hex ( \xNN) ou octal ( \NNN). Vous pouvez utiliser printfsi vous voulez voir le code hexadécimal pour une valeur. Dans vim, vous pouvez taper Ctrl-V U puis le point de code Unicode à 4 chiffres. Aussi, section CITATION .
Ignacio Vazquez-Abrams
2
@Silence: (1) Parce que c'est une caractéristique de votre shell (généralement bash), pas de echo.
grawity
@PhilippeCarriere Dans vi, vous pouvez exécuter des commandes shell en ajoutant :!comme :!ls. Vous pouvez également insérer la sortie dans le tampon actuel à l'aide de :r !. Il me manque souvent le caractère tilde donc j'utilise :r !echo $'\x7e'. Un peu plus à ce sujet ici .
valable le
1

De la FAQ UTF-8 et Unicode pour Unix / Linux par Markus Kuhn:

Étendez votre mappage de clavier à l'aide de xmodmap . Ceci est particulièrement pratique si votre clavier a une AltGrtouche, qui est exactement destinée à cet effet (certains claviers américains ont au lieu d' AltGrune simple Alttouche droite , d'autres n'ont malheureusement pas cette touche, auquel cas une autre touche doit être affectée à la fonction Mode_switch) . Écrivez un fichier ~/.Xmodmapavec des entrées telles que

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

et chargez-le avec xmodmap ~/.Xmodmapvotre script de démarrage X11 dans votre serveur X. Vous constaterez alors que vous obtenez AltGrfacilement avec les nouveaux personnages suivants de votre clavier:

  • AltGr+ d→ °
  • AltGr+ [→ '
YourPadre
la source
0

Pas exactement ce que le PO demande, mais c'est peut-être suffisant pour quiconque lit ceci.

Selon la disposition du clavier que vous avez sélectionnée, vous pourrez peut-être déjà taper des caractères unicode et ASCII; comme sous macOS. Cliquez sur le sélecteur de langue près de l'icône de la barre d'état (si vous l'avez), puis Show Keyboard Layout, et regardez les autres caractères des touches individuelles.

Par exemple, vous pouvez taper… (points de suspension) avec right ALT + .et ÷ (division) avec right ALT + SHIFT + ..

De plus, ces frappes fonctionnent même dans Sublime, qui s'est avéré plus têtu CTRL + SHIFT + U.

WoodrowShigeru
la source