Erzeugen eines bestimmten ASCII-Zeichens in Ubuntu

19

Ich bin es gewohnt, left Altdas ASCII-Zeichen zu halten und einzugeben, wenn ich eine unbekannte Tastaturkonfiguration verwende und ein Sonderzeichen eingeben möchte.

Zum Beispiel, Alt+ 0+ 9+ 2macht einen Backslash (\).

Das läuft unter Windows. Gibt es eine Möglichkeit, dies in Ubuntu zu tun?

Hinweis: Ich möchte dies auch im Konsolenmodus verwenden können. Das heißt, ich möchte keine Lösung, die Software mit einer grafischen Benutzeroberfläche umfasst.

Philippe Carriere
quelle
Unter askubuntu.com/questions/588090 gibt es eine allgemeine Frage, ob es überhaupt möglich ist, dies auf Windows-Basis mit AskUbuntu zu tun .
JdeBP,
Siehe auch unix.stackexchange.com/questions/254477 unter Unix und Linux.
JdeBP

Antworten:

26

Wenn Sie Gnome verwenden (Lager Ubuntu tut) Sie können das tun , indem sowohl die Niederhalte Ctrlund ShiftTasten und Eingabe udurch den gefolgt hexadezimalen Wert des Zeichens.

Um den umgekehrten Schrägstrich zu erzeugen \, würden Sie halten Ctrl+ Shiftund drücken Sie U, 5und C.

Unter Windows geben Sie den Dezimalwert ein, während Sie unter Linux den Hexadezimalwert eingeben (der normalerweise kürzer ist, wenn Sie höhere Zahlen eingeben). Das u steht für Unicode.

Eine ziemlich vollständige Tabelle mit Hexadezimalwerten finden Sie hier . Achtung, das Laden der Seite kann sehr lange dauern!

Emilien
quelle
4
Der „hexadezimale Wert“ ist in der Tat der Unicode - Codepoint, im Gegensatz zu „Alt - Codes“ , die ASCII sind
grawity
Wow. Genau das was ich brauchte! Funktioniert überall wie ein Zauber. Vielen Dank.
Philippe Carriere
1
Jetzt muss ich nur noch alle Codes in hexa lernen .... :(
Philippe Carriere
Weiß jemand, wie man diese Arbeit in Sublime Text bekommt?
Betrunkener Meister
6

Eine andere Möglichkeit (es wird jedoch kein Zeichen durch ASCII / Unicode-Code eingefügt ) ist das Aktivieren des ComposeKey (wie Altin meinem Fall rechts ), sodass Sie dann Folgendes eingeben können:

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

usw. Wenn Sie häufig verwendete lateinische Buchstaben eingeben möchten (wie in Spanisch, Französisch usw.), ist dies möglicherweise schneller, als wenn Sie die Unicode-Codepunkte lernen müssen. Es geht nur darum, die Wahl zu haben!

Emilien
quelle
Benötigen Sie dafür kein Tastaturlayout außerhalb der USA?
Cristian Ciupitu
2
@CristianCiupitu: Nein, Sie müssen einen Compose-Schlüssel aktivieren.
Ignacio Vazquez-Abrams
@ IgnacioVazquez-Abrams, du hast recht. Es scheint, dass meine XFCE 4.10-Desktopumgebung die Compose-Taste überhaupt nicht gesetzt hat, aber nachdem sie auf die rechte Alt-Taste gesetzt wurde, hat die Antwort funktioniert (daher +1 von mir).
Cristian Ciupitu
5

Der Konsolentreiber von Linux verfügt nicht über die Möglichkeit, Zeichen auf diese Weise einzugeben. Er wird jedoch nicht wirklich benötigt, da Shells dies selbst handhaben können.

$ echo $'\x5c'
\
Ignacio Vazquez-Abrams
quelle
1
Das ist eine sehr schöne Methode ... Ich kann sie nicht einmal in den Manpages von Echo finden, aber es funktioniert! Gibt es eine Möglichkeit, den Dezimalcode anstelle des Hexadezimalcodes anzugeben? (Ich habe die Dezimalcodes auswendig gelernt)
Philippe Carriere
Gibt es eine Möglichkeit, dies zu nutzen, wenn ich in vi oder nano bin?
Philippe Carriere
2
Nein, sie können nur in hex ( \xNN) oder oktal ( \NNN) eingegeben werden . Sie können verwenden, printfwenn Sie den Hex-Code für einen Wert sehen möchten. In vim können Sie Strg-V U und dann den vierstelligen Unicode-Codepunkt eingeben. Auch ZITAT Abschnitt.
Ignacio Vazquez-Abrams
2
@Silence: (1) Weil es (normalerweise bash) ein Feature Ihrer Shell ist , nicht von echo.
Grawity
@PhilippeCarriere In vi können Sie Shell-Befehle ausführen, indem Sie :!like voranstellen :!ls. Sie können die Ausgabe auch mit in den aktuellen Puffer einfügen :r !. Mir fehlt oft der Tilde-Charakter, den ich benutze :r !echo $'\x7e'. Ein bisschen mehr dazu hier .
Gültig ab dem
1

Aus den UTF-8- und Unicode-FAQ für Unix / Linux von Markus Kuhn:

Erweitern Sie Ihre Tastaturbelegung mit xmodmap . Dies ist besonders praktisch, wenn Ihre Tastatur über eine AltGrTaste verfügt, die genau für diesen Zweck vorgesehen ist (einige US-Tastaturen verfügen nicht AltGrnur über eine richtige AltTaste, andere verfügen leider nicht über diese Taste. In diesem Fall muss einer anderen Taste die Funktion Mode_switch zugewiesen werden.) . Schreiben Sie eine Datei ~/.Xmodmapmit Einträgen wie

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

und lade es mit xmodmap ~/.Xmodmapaus deinem X11-Startskript in deinen X-Server. Sie werden dann feststellen, dass Sie mit AltGrLeichtigkeit die folgenden neuen Zeichen aus Ihrer Tastatur bekommen:

  • AltGr+ d→ °
  • AltGr+ [→ '
YourPadre
quelle
0

Nicht genau das, wonach das OP fragt, aber vielleicht reicht es für jeden, der dies liest.

Je nach ausgewähltem Tastaturlayout können Sie möglicherweise bereits einige Unicode- und ASCII-Zeichen eingeben. genau wie in macOS. Klicken Sie dann auf die Sprachauswahl neben dem Tray-Symbol (falls vorhanden) Show Keyboard Layoutund sehen Sie sich die alternativen Zeichen der einzelnen Tasten an.

Zum Beispiel können Sie… (Auslassungspunkte) mit right ALT + .und ÷ (Division) mit eingeben right ALT + SHIFT + ..

Darüber hinaus funktionieren diese Tastenanschläge sogar in Sublime, was sich als hartnäckiger herausstellte CTRL + SHIFT + U.

WoodrowShigeru
quelle