Produrre un carattere ASCII specifico in Ubuntu


19

Sono abituato a tenere premuto left Alte ad inserire il carattere ASCII ogni volta che utilizzo una configurazione di tastiera sconosciuta e voglio digitare un carattere speciale.

Ad esempio, Alt+ 0+ 9+ 2crea una barra rovesciata (\).

Questo è su Windows. C'è un modo per farlo in Ubuntu?

Nota: voglio anche essere in grado di utilizzare questo in modalità console. Ciò significa che non voglio una soluzione che coinvolga software con una GUI.


C'è una domanda generale sul fatto che sia persino possibile farlo in Windows su AskUbuntu, all'indirizzo askubuntu.com/questions/588090 .
JdeBP,

Vedi anche unix.stackexchange.com/questions/254477 su Unix e Linux.
JdeBP,

Risposte:


26

Se si utilizza Gnome (magazzino Ubuntu fa) è possibile farlo tenendo premuto sia il Ctrle Shiftchiavi e battitura useguiti dal esadecimale valore del carattere.

Per produrre la barra rovesciata \, tieni premuto Ctrl+ Shifte premi U, 5e C.

Su Windows si digita il valore decimale mentre su Linux si digita il valore esadecimale (che di solito è più breve se si passa ai numeri più alti). La u sta per Unicode.

Una tabella abbastanza completa di valori esadecimali può essere trovata qui . Attenzione, il caricamento della pagina può richiedere molto tempo!


4
Il "valore esadecimale" è in realtà il punto di codice Unicode, a differenza dei "codici Alt" che sono ASCII
gravità

Wow. Esattamente quello di cui avevo bisogno! Funziona ovunque come un fascino. Grazie.
Philippe Carriere,

1
Ora ho solo bisogno di imparare tutti i codici in hexa .... :(
Philippe Carriere,

Qualcuno sa, come ottenere questo lavoro in Sublime Text?
Drunken Master,

6

Un'altra opzione (ma non inserisce un carattere con il codice ASCII / Unicode) è quella di attivare ComposeKey (come Altnel mio caso), in modo da poter digitare cose come:

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

ecc. Nel caso in cui si desideri inserire lettere latine usate frequentemente (come in spagnolo, francese, ecc.), questo potrebbe essere più veloce della necessità di imparare i punti del codice Unicode. Si tratta solo di scegliere!


Non hai bisogno di un layout di tastiera non statunitense per questo?
Cristian Ciupitu,

2
@CristianCiupitu: No, devi abilitare una chiave di composizione.
Ignacio Vazquez-Abrams,

@ IgnacioVazquez-Abrams, hai ragione. Sembra che il mio ambiente desktop XFCE 4.10 non abbia impostato affatto il tasto Compose, ma dopo averlo impostato sul tasto Alt destro, la risposta ha funzionato (quindi +1 da me).
Cristian Ciupitu,

5

Il driver della console di Linux non ha la possibilità di inserire caratteri in questo modo ... ma non è davvero necessario poiché le shell possono gestirlo da soli.

$ echo $'\x5c'
\

1
Questo è un metodo molto bello .... Non riesco nemmeno a trovarlo nelle pagine man di echo ma funziona! Esiste un modo per fornire il codice decimale anziché quello esadecimale? (Ho imparato a memoria i codici decimali)
Philippe Carriere,

C'è un modo per usarlo quando sono in vi o nano?
Philippe Carriere,

2
No, possono essere inseriti solo in hex ( \xNN) o ottale ( \NNN). Puoi usare printfse vuoi vedere il codice esadecimale per un valore. In vim puoi digitare Ctrl-V U e quindi il punto di codice Unicode a 4 cifre. Inoltre, sezione PREVENTIVO .
Ignacio Vazquez-Abrams,

2
@Silence: (1) Perché è una caratteristica della tua shell (di solito bash), non di echo.
Grawity

@PhilippeCarriere In vi puoi eseguire i comandi di shell anteponendo :!like :!ls. È inoltre possibile inserire l'output nel buffer corrente utilizzando :r !. Mi manca spesso il carattere tilde, quindi uso :r !echo $'\x7e'. Un po 'di più su questo qui .
valido il

1

Dalle FAQ UTF-8 e Unicode per Unix / Linux di Markus Kuhn:

Estendi la tua mappatura della tastiera usando xmodmap . Ciò è particolarmente utile se la tua tastiera ha un AltGrtasto, che è pensato proprio per questo scopo (alcune tastiere statunitensi hanno invece AltGrun solo Alttasto giusto , altre sfortunatamente quel tasto purtroppo, nel qual caso ad altri tasti deve essere assegnata la funzione Mode_switch) . Scrivi un file ~/.Xmodmapcon voci come

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

e caricalo xmodmap ~/.Xmodmapdallo script di avvio X11 sul tuo server X. Scoprirai quindi che otterrai AltGrfacilmente i seguenti nuovi caratteri dalla tastiera:

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

0

Non esattamente quello che l'OP sta chiedendo, ma forse è abbastanza per chiunque stia leggendo questo.

A seconda del layout di tastiera selezionato, potresti già essere in grado di digitare alcuni caratteri Unicode e ASCII; proprio come in macOS. Fai clic sul selettore della lingua vicino all'icona della barra delle applicazioni (se ce l'hai), quindi Show Keyboard Layout, e dai un'occhiata ai caratteri alternativi dei singoli tasti.

Ad esempio, è possibile digitare ... (puntini di sospensione) con right ALT + .e ÷ (divisione) con right ALT + SHIFT + ..

Inoltre, queste sequenze di tasti funzionano anche in Sublime, il che si è rivelato più testardo nei confronti di CTRL + SHIFT + U.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.