Gibt es eine universelle Möglichkeit, Unicode-Zeichen zu schreiben?


18

Manchmal möchte ich spezielle Unicode-Zeichen wie einen Bindestrich (-) in verschiedenen Programmen wie vim, Chrome (wie gerade jetzt!) Oder LibreOffice schreiben.

In LibreOffice kann ich dies über ein spezielles Dialogfeld im Menü Einfügen erreichen. Andere Programme scheinen keinen eingebauten Weg zu haben. Meine Lösung in diesen Fällen besteht darin, das Zeichen in Wikipedia nachzuschlagen, zu kopieren und einzufügen.

Gibt es eine universelle Möglichkeit, Unicode-Zeichen in ein Programm zu schreiben, das Texteingaben unter Linux akzeptiert, ohne dass Sie diese von einer Stelle kopieren und einfügen müssen, an der sie bereits gedruckt wurden?


Sie könnten auf Wikipedia nach "Unicode-Eingabe" suchen. Nun in meiner Antwort erwähnt.
Vinc17

In LibreOffice (und MS Office) gibt es auch eine Liste von automatischen Ersetzungen, wie (C)-> ©. Sehr oft konfigurieren sich die Leute --als en-dash und ---als em-dash.
Simon Richter

Is there a universal way...Nein. (Ich kenne keine "universelle" Möglichkeit, etwas über die Programmierung zu tun .)
user2338816

Antworten:


14

Entweder können Sie eine ComposeTaste aktivieren oder Sie können CtrlShiftUgefolgt von der Unicode-Hexadezimalzahl des Zeichens drücken (führende Nullen können übersprungen werden). Zum Beispiel ist Æ CtrlShiftUdann C6. Dies funktioniert auf GNOME Terminal, Terminator, Google Chrome und einer Reihe anderer Anwendungen, wobei Xterm (und laut Kommentaren auch Emacs) nicht funktioniert.

Wenn Sie GNOME aktivieren möchten Compose, gehen Sie zu den Tastatureinstellungen und dann zu den TastenkombinationenEingabeAlternative Zeichen, und ordnen Sie sie einem bestimmten Element zu (z. B. Right Alt). Dann drückst du die ComposeTaste und - dreimal, um einen Bindestrich zu erhalten: -. (Die Pfeile in diesem Absatz sind alle Compose->.)

Bildbeschreibung hier eingeben


2
Die Strg + Umschalt + u-Lösung funktioniert in Xterm und Emacs nicht. Es funktioniert auch nicht in Firefox.
Vinc17

2
@ Vinc17 es funktioniert in Firefox für mich. Ich habe weder Xterm noch Emacs zum Testen.
muru

Hmmm, ja, es funktioniert in Firefox, aber ich muss die Leertaste nach der hexadezimalen Sequenz eingeben. In jedem Fall ist dies nicht universell, aber wahrscheinlich eine Funktion, die von einigen Anwendungen (oder einigen Fenstermanagern?) Hinzugefügt wurde. Außerdem funktioniert es in Opera nicht.
Vinc17

AltGr ist nur ein Modifikator, um zusätzliche Tastenkombinationen zu erhalten. Dies ist, was ich benutze, um die in meiner Antwort aufgelisteten Zeichen einzugeben (zB Umschalt + AltGr + [gibt ←). Der Benutzer kann Zeichen aber auch anderen Tasten zuordnen, z. B. Funktionstasten. Das ist, was ich tue, um die Zeichen mit französischem Akzent zu bekommen: éèêëâîôûàùïç. Alles erfolgt über XKB-Einstellungen.
Vinc17

@ Vinc17 Ich habe ein episches Scheitern gemacht. Ich habe über Compose gesprochen und stattdessen AltGr gesagt.
muru

7

Der beste Weg ist immer noch, das Zeichen auf der Tastatur einzugeben. Dank XKB können Sie beliebige Unicode-Zeichen an Tastenkombinationen binden. Zum Beispiel kann ich mit der XKB-Benutzeranpassung direkt Folgendes eingeben : ← → ↑ ↓… € ½ «» - - ± √ ∩ ∪ ∧ ∨ ∀ √ √ ≤ ≤ ≥ usw.

Hinweis: in dem besonderen Fall von GNU Emacs, Unicode - Zusammensetzung kann über erfolgen Ctrlx+ 8+ Return. Siehe Ctrlx+ 8+ Ctrlhfür weitere Methoden.

"Unicode-Eingabe" auf Wikipedia gibt abhängig vom Kontext Informationen zur Unicode-Eingabe nach ISO 14755, insbesondere für X11 mit einigen Toolkits und für bestimmte Anwendungen (Emacs, Opera, Vim).

Alternativ können Sie den ComposeSchlüssel mit benutzerdefinierten Einstellungen verwenden (da die Standardeinstellungen bei weitem nicht vollständig sind). Die Dokumentation wird von der Compose(5)Manpage zur Verfügung gestellt. Schreiben Sie zum Beispiel eine Datei $HOME/.XComposemit:

include "%L"
<Multi_key> <bracketleft> <c>           : "⌈" U2308 # LEFT CEILING
<Multi_key> <bracketright> <c>          : "⌉" U2309 # RIGHT CEILING
<Multi_key> <bracketleft> <f>           : "⌊" U230A # LEFT FLOOR
<Multi_key> <bracketright> <f>          : "⌋" U230B # RIGHT FLOOR

Die include "%L"Zeile lädt zuerst die standardmäßige (länderspezifische) Compose-Datei, und in den nächsten vier Zeilen werden benutzerdefinierte Einstellungen hinzugefügt, z. B . : Compose+ [+ cgibt das Zeichen für die linke Decke "⌈" (U + 2308).


Sie benötigen XKB nicht, um Unicode-Zeichen an Tastenkombinationen zu binden, Sie können dies auch mit xmodmap tun. Sie können jedoch nicht alle Unicode-Zeichen auf diese Weise erreichen, da es einfach zu viele gibt.
Gilles 'SO- hör auf böse zu sein'

1
@Gilles xmodmap ist nicht so leistungsfähig wie XKB und ich hatte in der Vergangenheit Probleme damit . Daher bin ich zu XKB gewechselt. Außerdem verwende ich nicht alle Unicode-Zeichen. Für seltene Zeichen ist eine Bildschirmauswahl möglicherweise die beste Lösung, da der Codepunkt und die Eingabe dieser Zeichen möglicherweise nicht bekannt sind.
Vinc17

Ich verstehe nicht, wie Sie mit compose ∩ ∩ ∪ ∧ ∨ eingeben. Der Rest funktioniert. Aber nicht die mathematischen Symbole.
Igor Chubin

@IgorChubin Ich benutze nicht komponieren, nur ISO_Level3_Shift(aka AltGr). Ich habe meine Antwort soeben bearbeitet, dass sie einen Link zu meiner Webseite enthält, auf der die Benutzeranpassung von XKB erläutert wird .
Vinc17

@ vinc17 Danke, ich werde mehr darüber lesen. Kennen Sie Vorteile dieser Methode gegenüber dem Komponieren?
Igor Chubin

2

Wie in diesem Beitrag ausführlich beschrieben , gibt es eine großartige Möglichkeit, Unicode-Schlüssel hinzuzufügen, ohne sich umständliche Tastenkombinationen merken oder Dropdown-Menüs verwenden zu müssen.

Es läuft darauf hinaus , Autokey zu verwenden , das beliebige Tastatureingaben als Auslöser für das Ausführen eines Skripts oder das Einfügen einer Phrase verwenden kann. In diesem Fall ist Ihre Phrase einfach das gewünschte Unicode-Zeichen.

Wie im Beitrag beschrieben, ist es eine gute Möglichkeit, LaTeX zu folgen, jedoch mit einem Schrägstrich anstelle eines umgekehrten Schrägstrichs. Beispielsweise wird die Eingabe von / delta an einer beliebigen Stelle (Browser, libre office usw.) automatisch in δ konvertiert.

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.