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?

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.


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.


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).



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.


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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.