116 votes

Détecter si une clé est liée à quelque chose dans vim

Je voudrais savoir si il existe un moyen de savoir si une touche n'quelque chose dans vim. Je sais que je peux utiliser :map voir défini par l'utilisateur mappages, mais il ya quelque chose pour de l'intégré dans le stuff?

Par exemple, j'ai toujours eu CTRL-W lié à fermer l'onglet, parce que je pensais que c'était inutilisée. Après un an et demi, j'ai découvert qu'il y a quelques séquences qui l'utilisent, comme CTRL-W CTRL-S pour diviser la fenêtre, et il a été un cauchemar pour les recycler en moi-même.

98voto

skeept Points 4459

Si vous consultez la réponse suggérée par Randy Morris, vous constaterez que

 :help index 
 

vous donnera la liste que vous voulez.

57voto

Hieu Points 473

Pour vérifier le mappage par défaut:

:help index

Pour d'autres la cartographie qui est fait par les utilisateurs ou plugin:

:map
:map!

À partir de http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-Tutoriel(Part_1):

La première commande permet d'afficher les cartes qui fonctionnent dans des conditions normales, visuels et de sélectionnez l'opérateur et dans l'attente de mode. La deuxième commande permet d'afficher les cartes que de travail en insertion et le mode de ligne de commande.

Généralement, la sortie des commandes ci-dessus va s'étaler sur plusieurs pages. Vous pouvez utiliser les commandes suivantes afin de rediriger la sortie vers l'vim_maps.txt fichier:

:redir! > vim_maps.txt
:map
:map!
:redir END

39voto

Randy Morris Points 16975

Pas une réponse complète, mais vous voudrez peut-être consulter :help map-which-keys pour obtenir une liste de clés que vim vous recommande d'utiliser dans vos cartes personnalisées.

Cette section d’aide contient une recommandation sur la manière de déterminer si une clé spécifique est mappée à une action.

19voto

shindojin Points 91

Utilisez ": map!" et ": map" pour les clés définies manuellement et ": help 'char (combinaison)'" pour déterminer quelles clés sont déjà mappées dans vim dès la première utilisation (/ parmi vos options de compilation spécifiques). (Légèrement hors sujet mais toujours respectable (je pense): utilisez ": noms de script" pour voir quels fichiers ont été trouvés dans quel ordre.)

Cordialement, S.

15voto

Mhd.Tahawi Points 1566

vous pouvez utiliser mapcheck .: -

    <br>for example, I wanted to map `<CR> ,i` to `gg=G` to indented a file.<br>
    to check if there is a mapping already for `<CR> , i` <br> 
    `if mapcheck("\<CR>", "I") == "" |echo "no mapping"`<br>
 

mais cela ne détectera pas si le mappage fait partie d'une séquence.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X