Wie schreibe ich Sonderzeichen in Linux?


84

In Windows gibt es die Möglichkeit, Sonderzeichen über die Tastatur einzugeben, indem Sie die Alt-Taste gedrückt halten und einige Zahlen eingeben, je nachdem, welches Zeichen Sie verwenden möchten. Funktioniert das mit Linux genauso?


in windows funktioniert das nur mit ascii-codes, oder? wie geht das bei unicode-zeichen?
FranBran

1
Leider unterstützen nicht alle Anwendungen die Unicode-Eingabe auf diese Weise. Aber ziemlich oft hilft eine Startnummer mit Null, dh geben Sie statt Alt + 8212 Alt + 08212 für M-Strich ein.
Smylic

@FranBran Sie müssen hex numpad aktivieren und dann können Sie alle Unicode-Zeichen
eingeben

@Smylic, das für die meisten Anwendungen nicht funktioniert, da der dezimale Alt-Code modulo 256 lautet. Sie müssen hex numpad
phuclv

Antworten:


97

Sie können Ctrl+ Shift+ ugefolgt vom hexadezimalen Code verwenden . (Sie müssen nur gedrückt halten Ctrlund Shiftwährend Sie den Code eingeben)


2
John, weißt du, was diese Funktionalität bietet? Ich habe noch nie davon gehört. Wo funktioniert es auf der Konsole? Ubuntus Standardeinstellungen in GNOME? Vielen Dank.
Quack Quixote

1
Ich habe eine ähnliche Quelle (abzüglich der u, einfach gedrückt halten Ctrl+Shift) für "works in GNOME" und eine Methode für VIM gefunden, die die verwendet, uaber nicht die Shift.
Quack Quixote

6
Thx, arbeitet für mich. Im Ubuntu-Terminal (unter X) kann ich Strg + Umschalt + U eingeben, alle 3 auslassen und dann 66 gefolgt von Leertaste eingeben. Am Ende erhalte ich "f", was das richtige Zeichen für 66 in UTF- ist. 8. Ab tty1 (Control-Alt-F1 - nicht-grafisches Terminal) funktionierte es jedoch nicht.
Stan Kurdziel

1
Irgendeine Lösung für KDE?
Jack

5
Ich benutze Compose(abgebildet als Rechts-Strg), was in allen DEs funktionieren sollte, da es von X bereitgestellt wird. Compose " A=> ä, Compose g p i=> "Π", etc
Mark K Cowan

54

X verwendet einen so genannten Erstellungsschlüssel . Durch Drücken Compose, some key, some key... nacheinander eingegeben werden können Zeichen. Ich habe meine Compose-Taste auf eingestellt Menu; ein eintippen ©(Copyright - Symbol), würde ich verwenden Menu, o, c.

Eine vollständige Liste der X-Compose-Tastenkombinationen finden Sie online (200 KiB) oder lokal in /usr/share/X11/locale/en_US.UTF-8/Compose.

In Gnome kann der Erstellungsschlüssel festgelegt werden, indem Sie zu Einstellungen → Tastatur → Registerkarte Layouts → Layoutoptionen → Schlüsselposition erstellen gehen.


12
Wie hat die Antwort "Unicode-Codepunkte speichern" doppelt so viele positive Stimmen wie der Erstellungsschlüssel? Wahnsinn.
Mark E. Haase

2
Perfekt. Ohne GNOME kann der Erstellungsschlüssel über festgelegt werden setxkbmap. Zum Beispiel $ setxkbmap -option 'compose:menu'wird die "Menü" -Taste (zwischen Alt Gr und rechter Strg-Taste auf meiner Tastatur) als Verfassen-Taste festgelegt.
Emil Lundberg

@mehaase Weil auf meinem Laptop kein Schlüssel verfügbar ist, den ich als Verfassen zuordnen kann. Also werde ich eine unvollständige Antwort über die elegante geben.
Cliff

Cliff, welcher seltsame Laptop ist das? Ich habe einen winzigen Laptop mit einer "Menü" -Taste (die virtuallinux wie ich als Compose-Taste verwendet). Es gibt keinen freien unbenutzten Schlüssel? Kein "Windows" -Schlüssel, den Sie unter Linux sowieso nicht brauchen? Seltsam.
Jürgen A. Erhard

@Cliff, ich habe es geschafft, es auf "3rd Level of Left Ctrl" zu setzen, also Ersatzschlüssel erforderlich; Ich hoffe, Sie können etwas finden, das für Sie funktioniert.
Amir

26

Die Eingabe von Unicode-Zeichen unter Linux ist unterschiedlich. Die häufig gestellten Fragen zu UTF-8 und Unicode enthalten einen Abschnitt mit verschiedenen Eingabemethoden :

  • Ctrl+ Shift+ U [unicode in hex]Ist in definiert ISO 14755 und umgesetzt von GTK2 + und arbeitet in GNOME-Terminal - und anderen Anwendungen.
  • Ctrl+ V u [unicode in hex]funktioniert in VIM.
  • Alt+ [unicode in decimal using numpad digits]funktioniert an der Konsole, vorausgesetzt, Ihre Umgebung ist ordnungsgemäß so konfiguriert, dass sie UTF-8 erwartet (über LOCALE- oder LANG-Umgebungsvariablen). ( Manpage unicode_start ).

Andere Methoden, die Sie verwenden könnten:

  • Ausschneiden und Einfügen von Zeichen aus einer kleinen Eingabedatei, die die gewünschten Zeichen enthält.
  • Verwenden Sie xmodmapdiese Option, um die Tasten in X neu zuzuordnen (Beispiele finden Sie oben im FAQ-Link).

(Ich habe das UTF8-Tag entfernt, das Sie der Frage hinzugefügt haben, da dies eigentlich eine Codierung ist, die beim Eingeben eines Zeichens nicht verwendet wird.)
Arjan,

2
+1 für die Einbeziehung von VIM. Ich war neugierig, wie das in Intellij mit VIM-Tastenkombinationen gemacht werden kann.
new123456

Ich kann bestätigen, dass alt-numpad in der tty1-Konsole von Ubuntu 12.04 (control-alt-F1) mit $ LANG = en_US.utf8 funktioniert. Die Codes sind dezimal und nicht hexadezimal, also statt 66 (hexadezimal) für "f ", Halte ich Alt, tippe 102, lasse Alt hoch und drücke" f ".
Stan Kurdziel

Traurige Welt, in der wir leben, wenn die Menschen die Schönheit von Compose fast vergessen haben.
Jürgen A. Erhard


1

Es gibt eine bessere Methode für Linux und Windows als die Verwendung von Alt-Tasten-Codes, bei denen Sie sich keine Codes merken müssen. Es wird hier ausführlich beschrieben .

Das Wesentliche ist, dass Sie AutoHotKey (Windows) oder AutoKey (Linux) verwenden. Beide werden im Hintergrund ausgeführt und akzeptieren beliebige Zeichenfolgen als Auslöser für die Ausführung eines Befehls. In diesem Fall wird ein Sonderzeichen in die Zwischenablage gesendet und dann in das aktuell verwendete Programm eingefügt.

Das angegebene Beispiel hat / delta als Auslöser (einschließlich des Schrägstrichs). Nach der Eingabe dieser sechs Zeichen werden sie gelöscht und durch ein δ ersetzt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.