Markierungen mit toten Schlüsseln verwenden

9

Ich verwende ein Tastaturlayout, bei dem der Backtick ( `) eine tote Taste ist .

Das heißt, wenn ich einen Backtick gefolgt von einem Vokal (zum Beispiel `a) eingebe, sieht Vim ein Zeichen mit Akzent ( à). Wenn ich also eine Marke mit setze, makann ich zur Linie der Marke mit springen 'a. Das Springen an die bestimmte Stelle der Marke mit `afunktioniert jedoch nicht.

Ich habe eine Problemumgehung dafür gefunden: Wenn ich einen toten Schlüssel eingebe, kann ich Vim einen Backtick geben lassen, indem ich auf den Backtick und dann auf die Leertaste drücke. Wenn ich also zum Markieren gehen möchte, tippe aich `␣a.

Gibt es eine Möglichkeit, zur Marke zu springen, ohne diesen zusätzlichen Platz einschlagen zu müssen? Ohne Nebenwirkungen?

Gonçalo Ribeiro
quelle
Sie können keine Backticks vom Typ 2 verwenden, um einen Backtick zu erhalten? Oder konfigurieren Sie Ihr Betriebssystem dafür? Das ist immer noch ein zusätzlicher Schlüssel, aber besser als `+ Leerzeichen ...
Martin Tournoij
@Carpetsmoker Nein. Die Eingabe von zwei Backticks führt normalerweise zu `` für mich. Aber im normalen Modus scheint etwas anderes zu passieren: Ich tippe "a" und Vim sagt "E78: Unbekannte Marke". Von showcmdIch denke , versteht Vim dies als `à. Außerdem möchte ich das Verhalten des Betriebssystems unabhängig machen. mapscheint die Arbeit zu machen.
Gonçalo Ribeiro

Antworten:

12

Versuchen Sie es zu einem Mapping:

" Mapping dead keys in normal mode
nmap á 'a

Auf diese Weise interpretiert Vim das akzentuierte a als `+ , wenn es das akzentuierte a erhälta

Die Verwendung nmapermöglicht dies nur im normalen Modus. Im Einfügemodus oder im Befehlsmodus erhalten aSie den erwarteten Akzent .

Es ist möglich, dies auf andere Schlüssel anzuwenden:

nmap à `a
nmap Á 'A
nmap À `A
nmap ç 'c
nmap Ç 'C
nmap é 'e
nmap è `e
nmap É 'E
nmap È `E
nmap í 'i
nmap ì `i
nmap Í 'I
nmap Ì `I
nmap ó 'o
nmap ò `o
nmap Ó 'O
nmap Ò `O
nmap ú 'u
nmap ù `u
nmap Ú 'U
nmap Ù `U
John O'M.
quelle
Das funktioniert. Und ohne Nebenwirkungen. Ich sollte lernen, Karten zu benutzen. Danke.
Gonçalo Ribeiro
Bitte. Froh, dass ich helfen konnte.
John O'M.
Was ist mit dem ^ (weiches erstes Zeichen der Zeile)? Was kann getan werden, da dies ein eigenständiger Befehl ist? Zwischenspeichert das Betriebssystem die tote Taste, bis eine andere Taste gedrückt wird?
Spidey