Existe-t-il un moyen d'afficher les clés actuellement mappées dans Vim?

183

Fondamentalement, j'aimerais voir toutes les cartes de clés créées dans le tampon actuel par tous les plugins, vimrc, etc., dans le tampon actuel. Y a-t-il un moyen de faire ça?

Paul Wicks
la source

Réponses:

238

Vous pouvez le faire avec la :mapcommande. Il existe également d'autres variantes.

  • :nmap pour les mappages en mode normal
  • :vmap pour les mappages de mode visuel
  • :imap pour les mappages de mode d'insertion

La liste ci-dessus n'est pas complète. Taper :help mapdans Vim vous donnera plus d'informations.

mat-
la source
10
Juste pour clarifier, je crois :map, comme la question originale le demande, montre juste les mappages faits par les plugins, vimrc, etc. Si vous voulez voir les raccourcis clavier par défaut dans vim, utilisez:index
Von
28
@Von, vous voulez peut-être dire :help index.
Lqueryvg
2
ceux-ci ne vous donnent que les mappages définis par l'utilisateur, pas les liaisons intégrées (par défaut)
Tyler Durden
1
Est-il possible de les écrire dans un fichier pour les revoir plus tard?
Anton Daneyko
@AntonDaneyko Vous pouvez utiliser github.com/AndrewRadev/bufferize.vim à cette fin.
radlan
86
:redir! > vim_keys.txt
:silent verbose map
:redir END

Cela génère les raccourcis, avec l'endroit où ils ont été définis, dans un fichier texte.

Ivan
la source
1
Je crois que vous vouliez utiliser la :redircommande, pas la :remapcommande.
Aaron Hays
1
Merci merci merci!!! J'ai finalement trouvé que MacVim remappait ma commande <A-Up>. Corrigé en ajoutant let macvim_skip_cmd_opt_movement = 1
RichS
54

En plus des réponses sur :mapsans arguments: ne manquez pas sa forme verbeuse ( :verbose map) qui montre où le (s) mapping (s) a été défini (voir :help map-verbose).

Ves
la source
13

Tout simplement, exécutez simplement les :map variantes sans arguments.

:map
:imap
:vmap
Michael Berkowski
la source
13

:mapet ses amis sont la clé, :verboseajoute des informations et :redirpermettent le raffinement post-recherche.

Ils sont un mélange parfait pour montrer quelle commande est liée à quel raccourci et vice versa, mais si vous voulez rechercher certaines clés et éviter les fichiers temporaires chaque fois que vous avez besoin de rechercher des mappages, jetez un œil à scriptease et à la :Verbosecommande.

C'est un wrapper :verbosepour afficher le résultat dans une fenêtre d'aperçu.

de cette façon, vous pouvez rechercher ce que vous voulez dans les résultats sans utiliser de fichiers temporaires

tapez :Verbose mapet utilisez / ?comme d'habitude.

Albfan
la source
4

Une autre méthode consiste à enregistrer la session dans un fichier, puis à modifier ce fichier car il contient tous les mappages et paramètres.

:mks[ession] [file] - Ecrire un script Vim qui restaure la session d'édition en cours.

Fernando Rodriguez
la source