2016-12-19 3 views
3

On vim, Befehlsmodus Schlüssel können :map <key> <macro> und insert-Modus Tasten durch :map! <key> <macro> kartiert werden können durch die ex Befehl abgebildet werden. Nach dem Mappen sind die Befehle zum Entfernen der Zuordnung von den Befehlsmodus Tasten und Einfügemodus Schlüssel unmap <key> bzw. unmap! <key>.Wie man einen Insert-Schlüssel auf vim auflistet?

Das funktioniert gut mit Befehlsmodus Tasten, aber mit Insert-Modus Schlüssel der Schlüssel Expansion auf der ex Befehlszeile funktioniert auch: Der Versuch, den Schlüssel am Ende in der Makroerweiterung in resultierende statt tippen schlechtes Argument für den Befehl unmap! (E474: Invalid Argument) oder der Befehl könnte versuchen, einen anderen Schlüssel von dem beabsichtigten zu entfernen (E31: No such mapping).

Wie kann jemand einen Einfügemodus zugeordneten Schlüssel auf vim korrekt entfernen?

+4

Vergessen Sie 'map' und': map! ', Die wir vor Jahren auf normalen vi verwendet haben. Bevorzugen Sie die genauen Mapping-Befehle 'imap',' smap', 'xmap',' cmap' und 'nmap'. Oder noch besser, die nore Versionen. Mit diesen würden Sie nicht mit den unerwünschten Nebenwirkungen belästigt worden sein, die Sie experimentiert haben. –

+0

Das erklärt, warum es mir schwer fiel, eine Antwort zu diesem Thema zu finden! Das Buch, das ich bei 'vim' lese, wird wahrscheinlich immer noch bei denen ankommen, es beginnt auf 'vi' und kommt dann auf' vim' (und vielleicht ein bisschen andere Klone). Unterscheiden sie sich stark vom regulären 'vi'-Mapping? Ich vermute, 'imap' und' cmap' stehen für * insert-mode * mapping und * command-mode * mapping? – IanC

+0

Sie unterscheiden sich in dem Sinne, dass leicht unerwünschte Nebenwirkungen auftreten, und in dem Sinne, dass wir definitiv nicht wollen, dass sie das Gleiche tun, was bedeutet, dass eine einfache Zuordnung nicht ausreicht. In Bezug auf Ihre Vermutungen sind sie richtig. Verwenden Sie einfach ': help: imap' & al, um genau zu sehen, was sie tun. BTW, ': help: help' ist vim' man man'. –

Antwort

3

Beim Zuordnen eines Schlüssels kann verwendet werden, um einige Sonderzeichen wie ENTER, ESC oder einige bestimmte Steuertasten zu umgehen.

Dasselbe gilt für die Verwendung von zugeordneten Einfügemodusschlüsseln: Sie können bei der Eingabe von sowohl beim Bearbeiten des Texts als auch beim Schreiben von Befehlen in die Befehlszeile ex mit Escapezeichen versehen werden.

Wenn zum Beispiel die + Insert-Taste zu einem gewissen Makro zugeordnet ist und der Anwender will es unmap, muss der Schlüssel entkommen werden, während die ex Befehl Schreiben der Makroerweiterung zu vermeiden:

:unmap! + CTRL+V (zeigt eine ^) + <key>

das gleiche gilt, wenn ein regelmäßiger erfolgen + im Text benötigt wird, während es in der Bearbeitung Insert-Modus.

Verwandte Themen