Gibt es eine Möglichkeit, die aktuell zugeordneten Schlüssel in Vim anzuzeigen?

183

Grundsätzlich möchte ich alle Schlüsselzuordnungen anzeigen, die im aktuellen Puffer von allen Plugins, vimrc usw. im aktuellen Puffer erstellt wurden. Gibt es sowieso etwas zu tun?

Paul Wicks
quelle

Antworten:

238

Sie können dies mit dem :mapBefehl tun . Es gibt auch andere Varianten.

  • :nmap für Normalmodus-Zuordnungen
  • :vmap für visuelle Moduszuordnungen
  • :imap für Einfügungsmoduszuordnungen

Die obige Liste ist nicht vollständig. Wenn Sie :help mapVim eingeben, erhalten Sie weitere Informationen.

mattr-
quelle
10
:mapZur Verdeutlichung, glaube ich, zeigt die ursprüngliche Frage nur Zuordnungen von Plugins, vimrc usw. Wenn Sie die Standardschlüsselbindungen in vim sehen möchten, verwenden Sie:index
Von
28
@Von, meinst du vielleicht :help index.
Lqueryvg
2
Diese geben Ihnen nur die benutzerdefinierten Zuordnungen, nicht die eingebauten (Standard-) Bindungen
Tyler Durden
1
Ist es möglich, sie in eine Datei zu schreiben, um sie später zu überprüfen?
Anton Daneyko
@AntonDaneyko Zu diesem Zweck können Sie github.com/AndrewRadev/bufferize.vim verwenden.
Radlan
84
:redir! > vim_keys.txt
:silent verbose map
:redir END

Dadurch werden die Verknüpfungen, mit denen sie definiert wurden, in eine Textdatei ausgegeben.

Ivan
quelle
1
Ich glaube, Sie wollten den :redirBefehl verwenden, nicht den :remapBefehl.
Aaron Hays
1
Danke danke danke!!! Endlich festgestellt, dass MacVim meinen Befehl <A-Up> neu zuordnet. Behoben durch Hinzufügen von let macvim_skip_cmd_opt_movement = 1
RichS
54

Zusätzlich zu Antworten :mapohne Argumente: Verpassen Sie nicht die ausführliche Form ( :verbose map), die zeigt, wo die Zuordnung (en) definiert wurde (siehe :help map-verbose).

Ves
quelle
13

:mapund seine Freunde sind der Schlüssel, :verbosefügen Informationen hinzu und :redirermöglichen die Verfeinerung nach der Suche.

Sie sind eine perfekte Mischung, um zu zeigen, welcher Befehl an welche Verknüpfung gebunden ist und umgekehrt. Wenn Sie jedoch einige Schlüssel durchsuchen und temporäre Dateien vermeiden möchten, wenn Sie nach Zuordnungen suchen müssen, schauen Sie sich scriptease und an:Verbose Befehl.

Es ist ein Wrapper :verbose, um das Ergebnis in einem Vorschaufenster anzuzeigen.

Auf diese Weise können Sie in den Ergebnissen nach beliebigen Elementen suchen, ohne temporäre Dateien zu verwenden

wie gewohnt eingeben :Verbose mapund verwenden / ?.

Albfan
quelle
12

Führen Sie einfach die :map Varianten ohne Argumente aus.

:map
:imap
:vmap
Michael Berkowski
quelle
4

Eine andere Möglichkeit besteht darin, die Sitzung in einer Datei zu speichern und diese Datei dann zu bearbeiten, da sie alle Zuordnungen und Einstellungen enthält.

:mks[ession] [file] - Schreiben Sie ein Vim-Skript, das die aktuelle Bearbeitungssitzung wiederherstellt.

Fernando Rodriguez
quelle