Ich habe ein vim-Makro, das ich immer falsch beschreibe, normalerweise, wenn ich versuche, etwas zu speichern, also mache ich es schnell, und ich kann nicht herausfinden, welche Tasten ich gedrückt habe. Es ist ärgerlich, da es irrelevante Bash-Code in meine Datei einfügt, so dass ich das fehlerhafte Einfügen rückgängig machen muss, das auch das letzte Ding rückgängig macht, das ich tippte, das ich will.
Ich habe nach einer Möglichkeit gesucht, entweder die aktuell definierten Makros aufzulisten (damit ich das Problem neu definieren kann) oder eine Möglichkeit, sie komplett zu löschen. Ich verwende Makros nur sehr kurzfristig, so dass es mir nichts ausmacht, sie alle zu verlieren.
Prost
Makros
Was in vim meist als Makro bezeichnet wird, wird mit @ und einem Buchstaben eingeleitet. Es führt den Inhalt eines Registers mit dem genannten Buchstaben als Namen aus.
Listen Sie den Inhalt des Registers auf
:reg
Sie können das Register a mit
löschen :let @a = ''
Listenzuordnungen
alle Abbildungen
:map
alle Zuordnungen, die mit \
beginnen :map \
normaler Modus
:nmap
Einfügemodus
:imap
visueller Modus
:vmap
Befehlsmodus
:cmap
Abkürzungen auflisten
alle Abkürzungen
:abbr
alle Abkürzungen beginnend mit E-Mail
:abbr email
Einfügemodus
:iabbr
Befehlsmodus
:cabbr
Sie können :verbose
vor den vorherigen Befehlen verwenden, um weitere Informationen darüber zu erhalten, wo die Zuordnung / Abkürzung zuletzt festgelegt wurde, z. B. in :verbose nmap
. Diese Befehle zeigen auch alle Zuordnungen, die von Plugins und anderen Konfigurationsdateien festgelegt wurden.
Entfernen einer Zuordnung / Abkürzung
(nur ein paar der hier aufgelisteten Modi sollten Sie nur für einen bestimmten Modus entfernen können, genau wie bei den obigen Auflistungsbefehlen.)
Einfügen-Modus, entfernen Sie ein Mapping, das als \:
definiert ist :iunmap \
normaler Modus:
:nunmap \
Entfernen Sie eine Abkürzung, die als E-Mail definiert ist:
:unabbr email
Einfügemodus:
:iunabbr email
Lösche Zuordnungen / Abkürzungen
Ich würde nicht empfehlen, alle Zuordnungen / Abkürzungen zu löschen, da Sie alles verlieren würden, was Ihre Plugins zugeordnet / abgekürzt haben. Sie können Zuordnungen jedoch löschen, indem Sie nach dem obigen Auflistungsbefehl den Buchstaben c eingeben, wie in :imapc
, um Einfügungsmoduszuordnungen zu löschen. Abkürzungen können mit :abclear
oder nur für den Einfügemodus :iabclear
und nur für den Befehlsmodus :cabclear
gelöscht werden.
Um ein einzelnes Makro zu löschen - zeichnen Sie darüber auf - mit nichts.
Für Ihre Situation im normalen Modus tippen Sie einfach "qwq".
Bestätigen Sie mit: reg [ister] w
Das ist nur etwas schneller als: lassen Sie @w = '', aber für mich ist es leichter, sich daran zu erinnern.