Was ist der einfachste Weg, um Unicode-Zeichen in ein Dokument einzufügen?

28

Wenn ich gelegentlich Dokumente schreibe, möchte ich Unicode-Zeichen in den Text einfügen. Manchmal kenne ich den Zeichencode und manchmal schaue ich ihn im Internet nach.

Momentan gehe ich in den Einfügemodus und benutze dann <Ctrl-V>u{four digit hex number}, was sehr mühsam sein kann. Gibt es eine einfachere Möglichkeit, die Zeichen einzufügen (möglicherweise eine Form des Einfügens)?

Martin York
quelle
Die andere Frage ist wirklich ein "Sonderfall" dieser allgemeineren Frage; Die Antworten werden die gleichen sein ... Mein Kommentar gilt auch für: Verwenden Sie die Funktionen Ihres Betriebssystems (wie auch immer) oder ein anderes betriebssystemweites Programm (zum Beispiel, als ich Windows verwendet habe, habe ich gerne AllChars verwendet, das X11 emuliert Schlüssel erstellen (funktioniert in allen Programmen).
Martin Tournoij
Ja, das ist ein Sonderfall und die Antworten sind darauf spezialisiert. Glauben Sie nicht, dass es eine allgemeinere Lösung geben könnte, die mehr Dinge umfasst, die die Menschen bei der Betrachtung des Sonderfalls nicht berücksichtigt haben?
Martin York
Wir könnten diese Frage auch allgemeiner formulieren oder sie als Betrug dieser Frage markieren (auch wenn sie früher war). Ich kümmere mich nicht wirklich als solche . Aber ich glaube nicht, dass es irgendjemandem auf lange Sicht helfen wird, beide Fragen zu haben :-)
Martin Tournoij
Wenn ich die Welt kontrollieren könnte. Vielleicht sollten wir es ein oder zwei Tage stehen lassen, wenn es irgendwelche einzigartigen Antworten sammelt, die es von der anderen Frage unterscheiden könnten. Wenn es unbeantwortet bleibt oder die Antworten nur Duplikate sind, schließen / löschen Sie es.
Martin York
Okay .. Ich stimme definitiv zu, dass die andere Frage keine großartigen Antworten hat, und diese Frage sollte (hoffentlich) bessere anziehen ... Wenn Sie die andere Frage (um sie allgemeiner zu gestalten) bearbeiten, bleibt immer noch eine Menge hochgestimmter Antworten übrig Antworten, die sich nur mit dem Gedankenstrich befassen , also ist das auch nicht großartig ... Also habe ich meine enge Abstimmung zurückgezogen, und sobald dies einige anständige Antworten erhält, stimme ich dem anderen einen Betrüger von diesem ab (auch wenn es war früher) ... Ich kann natürlich nicht kontrollieren, was andere Leute wählen, um abzustimmen.
Martin Tournoij

Antworten:

23

Vorwort : Dies hat nichts mit Vim als solchem ​​zu tun, aber ich werde Ihnen zeigen, was ich für die "beste" Art halte, diese Zeichen bei weitem einzufügen. Das Digraphensystem von Vim ist mehr oder weniger dasselbe, funktioniert aber nur mit Vim. Dies funktioniert in allen Anwendungen.

Dies funktioniert nur auf X11-Systemen (Linux, BSD usw.). Für Windows gibt es AllChars . Es wurde eine Weile nicht mehr aktualisiert, aber ich kann bestätigen, dass es gut mit Windows 7 funktioniert (es wurde bei meinem vorherigen Auftrag verwendet). Ich glaube, OS X hat auch gute Möglichkeiten, dies im Betriebssystem zu tun. Wenn Sie OS X verwenden, empfehle ich Ihnen, sie zu überprüfen, aber da ich nie wirklich OS X verwendet habe, kann ich Sie nicht auf sie verweisen.

Das Folgende ist (Teil eines) Entwurfs eines Weblog-Artikels, den ich in der Pipeline habe. Leider gibt es (noch) keinen wirklich umfassenden Leitfaden, und der folgende Leitfaden beschreibt nicht alle darin enthaltenen Funktionen (zum Beispiel fehlen einige Teile zu toten Schlüsseln) und könnte in einigen Teilen besser geschrieben werden, aber ich denke, das ist es immer noch "nützlich genug".


Eine 'Kompositionssequenz' ist das Drücken der ComposeTaste und dann eines oder mehrerer Zeichen, um ein Zeichen zu erzeugen, das nicht auf Ihrer Tastatur gefunden wurde, z. B. Drücken von Compose, unmittelbar gefolgt von "und amöglicherweise ein ä.

Standardmäßig Composeist es an keinen Schlüssel 1 gebunden . Der rechte AltSchlüssel (aka. Alt Gr) wird oft verwendet, aber Sie setzen ihn auf einen beliebigen Schlüssel.

Stellen Sie es mit xmodmap ein

Sie können xmodmap dies folgendermaßen einstellen:

$ xmodmap -e 'keysym Alt_R = Multi_key'     # Set it right Alt
$ xmodmap -e 'keysym Caps_Lock = Multi_key' # Set it to Caps Lock
$ xmodmap -e 'keysym F12 = Multi_key'       # You're free to use *any* key, like F12

Sie möchten dies wahrscheinlich zu Ihrer ~/.XmodmapDatei 2 hinzufügen :

! Set compose key
keysym Alt_R = Multi_key

Stellen Sie es mit XKB ein

Sie können den Erstellungsschlüssel auch als Option auf XKB setzen mit setxkbmap:

setxkbmap -option compose:ralt  # Right alt
setxkbmap -option compose:caps  # Caps Lock

Um diese dauerhaft zu machen, fügen Sie den Befehl zu Ihrer X-Startdatei hinzu, oder Sie können ihn auch festlegen in /etc/X11/xorg.conf:

Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    Option "XkbOptions" "compose:ralt"
    #Option "XkbOptions" "compose:caps"
EndSection

Oder in einem 'moderneren' Stil können Sie eine Datei erstellen /etc/X11/xorg.conf.d/90-compose.conf:

Section "InputClass"
    Identifier "Set compose key"
    MatchIsKeyboard "on"
    Option "XkbOptions" "compose:ralt"
EndSection

Eine Liste der möglichen Werte finden Sie im xkeyboard-config(7)Abschnitt 'Position des Erstellungsschlüssels' 3 .

Tote Schlüssel einrichten

Ein toter Schlüssel wird hauptsächlich verwendet, um einem Buchstaben einen Akzent oder ein diakritisches Zeichen hinzuzufügen (z. B. den Umlaut, das Akzentgrab usw.), obwohl damit jedes Zeichen erstellt werden kann. Es funktioniert von ... TODO '

keycode 133 = dead_greek NoSymbol SuperR

http://zuttobenkyou.wordpress.com/2011/08/24/xorg-using-the-us-international-altgr-intl-variant-keyboard-layout/
http://stackoverflow.com/questions/14922007/how-to-enter-greek-alpha-under-xor
keycode 48 = dead_grave apostrophe


<dead_grave> <space>       : "`"   grave # GRAVE ACCENT
<dead_grave> <dead_grave>  : "`"   grave # GRAVE ACCENT
<dead_grave> <a>           : "À"   agrave # LATIN CAPITAL LETTER A WITH GRAVE

Erstellen einer ~ / .XCompose-Datei

Die Standard-Compose-Datei ist, wenn sie ~/.XComposefehlt /usr/share/X11/locale/$LANG/Compose. Wenn Sie Ihre eigenen ~/.XComposeEinstellungen haben, wird die Standardeinstellung überschrieben. Sie können die Standardeinstellung jedoch weiterhin mit einbeziehen:

include "%L"

Änderungen an einer Compose-Datei werden wirksam, wenn Sie eine Anwendung neu starten. Sie müssen X nicht neu starten.

Schlüssel verfassen

Eine 'Kompositionssequenz' drückt die ComposeTaste und dann ein oder mehrere Zeichen, um ein Zeichen zu erzeugen, zum Beispiel:

<Multi_key> <quotedbl> <a> : "ä" adiaeresis

Bedeutet das Drücken Compose, unmittelbar gefolgt von "und aerzeugt eine ä.

<Multi_key>gibt an, dass wir den ComposeSchlüssel verwenden. Anschließend folgt eine Liste mit einem oder mehreren Schlüsseln, keysymsdie symbolisch für die von X verwendeten Schlüssel stehen müssen (siehe Abschnitt Keysyms).

Gefolgt von a :, gefolgt vom Ergebnis.

Das Ergebnis:

<Multi_key> <a>          :  "ä" adiaeresis
<Multi_key> <b> <b>      :  "ä" adiaeresis
<Multi_key> <c> <c> <c>  :  "ä" adiaeresis
<Multi_key> Alt <d>      :  "ä" adiaeresis
<Multi_key> Ctrl <e>     :  "ä" adiaeresis

Hinweis : Ein Compose - Datei ist case-sensitive, so Aist nicht das gleiche wie a.

Tote Schlüssel

MACHEN

Lass es in GTK & Qt funktionieren

Setzen Sie die Umgebungsvariablen GTK_IM_MODULE& QT_IM_MODULEauf xim.

Borowski-Schale:

# Make compose key work for GTK, Qt
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim

C-Shell:

# Make compose key work for GTK, Qt
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim

Siehe auch

Meine ~/.XCompose

Dies ist das ~/.XCompose, was ich benutze ; Ich habe ein Skript verwendet, um dies zu generieren, aber ich habe es beim Kompilieren versehentlich überschrieben.> _ <Ich muss es also neu schreiben.

Beachten Sie auch diese Zeile:

<Multi_key> <i> <b> : "NL65AEGO0721647952"

Durch Drücken von Compose ibwird diese Zeichenfolge eingefügt (eine zufällige Test-IBAN-Nummer). Sehr nützlich zum Testen von Anwendungen, bei denen eine solche Nummer erforderlich ist, um ein Objekt (Person, Organisation) zu erstellen. XCompose kann auch als "Snippet" -Tool dienen :-)

Fußnoten

1: Einige UNIX-Tastaturen hatten einen dedizierten ComposeSchlüssel ( wie diese SUN ), dies ist heutzutage jedoch eher ungewöhnlich.

2: Abhängig von Ihrem vorhandenen Setup wird dies beim Start möglicherweise nicht gelesen. Fügen Sie je nach Konfiguration die Zeile xmodmap ~/.Xmodmapentweder zu ~/.xinitrcoder hinzu ~/.xsession. Siehe auch das ArchLinux-Wiki .

3: Reproduziert zu Ihrem Vorteil:

    Position of Compose key
    +------------------------------------------------------+
    |Option                Description                     |
    +------------------------------------------------------+
    |compose:ralt          Right Alt                       |
    |compose:lwin          Left Win                        |
    |compose:lwin-altgr    3rd level of Left Win           |
    |compose:rwin          Right Win                       |
    |compose:rwin-altgr    3rd level of Right Win          |
    |compose:menu          Menu                            |
    |compose:menu-altgr    3rd level of Menu               |
    |compose:lctrl         Left Ctrl                       |
    |compose:lctrl-altgr   3rd level of Left Ctrl          |
    |compose:rctrl         Right Ctrl                      |
    |compose:rctrl-altgr   3rd level of Right Ctrl         |
    |compose:caps          Caps Lock                       |
    |compose:caps-altgr    3rd level of Caps Lock          |
    |compose:102           <Less/Greater>                  |
    |compose:102-altgr     3rd level of <Less/Greater>     |
    |compose:paus          Pause                           |
    |compose:prsc          PrtSc                           |
    |compose:sclk          Scroll Lock                     |
    +------------------------------------------------------+
Martin Tournoij
quelle
1
Verwenden Sie für Windows Wincompose anstelle von Allchars. Es macht genau das, was es verspricht. Ich habe Allchars benutzt, bis ich Wincompose gefunden habe. Die Einschränkung beim Verfassen besteht darin, dass Sie keine einprägsame Kombination haben können, um alle Zeichen zu erreichen, nur die, die Sie häufig verwenden oder die eine logische Zerlegung haben.
Gilles 'SO- hör auf böse zu sein'
@ Gilles Danke; WinCompose sieht gut aus. Sie haben Recht, dass Sie nur eine relativ begrenzte Teilmenge der "am häufigsten verwendeten" Zeichen eingeben können. Für mich ist das in> 95% der Fälle ausreichend. Für den Rest benutze ich UniView ... Mir ist nichts wesentlich besseres bekannt ...
Martin Tournoij
Für selten verwendete Zeichen verwende ich Shapecatcher (keine mir bekannte Editor-Integration) oder gebe den Namen des Zeichens ein ( C-x 8 RETin einem Editor, der nicht vi ist, weiß ich nicht, ob Vim etwas ähnliches hat).
Gilles 'SO- hör auf böse zu sein'
1
KDE-Benutzer können diese Methode nicht verwenden, da KDE die Verantwortung für die Implementierung dieser Funktion an Xorg delegiert und Xorg an Qt und Qt wieder an Xorg delegiert . Ich diskutiere dies auf meiner Seite über die Eingabe von RTL-Text .
Dotancohen
@dotancohen Das sieht nach einem anderen Problem aus (wie in Featureanforderung).
Martin Tournoij
20

Zum Einfügen von Unicode-Zeichen wie Euro- oder Copyright-Symbolen oder diakritischen Zeichen wie Umlauten oder Akzentgräbern digraphs.

Drücken Sie beispielsweise im Einfügemodus Ctrl+ kund geben Sie Folgendes ein:

  • Spanisch: a'für á, E'für É, n?für ñ,
  • Deutsch: a:für ä, ssfür ß,
  • andere Buchstaben mit Akzent: a!für à, a>für, âfür ê, a?für ã,
  • Griechisch: a*für α(alpha), b*für β(beta), g*für γ(gamma), d*für δ(delta).
  • Quadratische Zahlen: 22für ², 33oder³
  • Währungen: Eufür (Euro), Pdfür £(Pfund),
  • Cofür ©(Copyright), DGfür °(Degree),
  • OKfür , XXfür , Sbfür (Kugel),
  • Satzzeichen: -Nfür (en dash), -Mfür (em dash)

Wenn die Digraph-Option gesetzt ist ( :set dg), können Sie auch die folgende Methode anwenden:

  • aBackspace:für ä, EBackspaceufür , etc.

Geben Sie Folgendes ein, um die aktuell definierten Digraphen aufzulisten: :digraphs( :dig).

Quelle: Eingabe von Sonderzeichen auf der Vim Wikia- Site.


OS X

Wenn Sie mit OS X arbeiten, können Sie mit Akzenten versehene Buchstaben ganz einfach auf folgende Weise eingeben:

  • Option+ e, dann afür á, efür é, ifür íund ähnlich,
  • Option+ n, dann afür ã, nfür ñund ähnlich,
  • Option+ u, dann ufür ü,
  • Umgekehrte Satzzeichen: Option+ 1für ¡, Option+ Shift+ ?für ¿,

Siehe auch:

Kenorb
quelle
6

Mein Unicode-Plugin ermöglicht die einfache Eingabe von Unicode-Zeichen. Insbesondere erlaubt es

  • :Digraph <name> - Suche Digraphen nach Charakter

  • :UnicodeTable - Zeigt eine Zeichensatztabelle an

  • :UnicodeName - Identifizieren Sie das Zeichen unter dem Cursor

  • Vervollständigung von Zeichen mit ihren Namen oder Werten aus der Unicode-Tabelle ( :h i_CTRL-X_CTRL-Z) oder den Digarphs ( :h i_CTRL-X_CTRL_G)

In der Hilfe finden Sie weitere Informationen zur Verwendung meines Plugins.

Christian Brabandt
quelle
3

Zusätzlich zur Verwendung der vordefinierten Digraphen (Ausführen :dig, um eine Liste zu erhalten) können Sie in vim auch Ihre eigenen Digraphen definieren:

:digr e: 235 a: 228

Siehe auch: http://vimdoc.sourceforge.net/htmldoc/digraph.html

Hjulle
quelle
3

Für häufig verwendete Zeichen :digraphoder externe Mittel wie den erwähnten Verfassen- Schlüssel sind großartig. Für selten verwendete definiere ich Abkürzungen wie diese:

norea <unique> unicode_smiley 😃
norea <unique> unicode_skull ☠

Und dann benutze mein SnippetComplete-Plugin , um ein Popup-Menü zu erhalten, das alle diese Abkürzungen auflistet , zB:unicode_<C-x>]

Ingo Karkat
quelle