Je voudrais savoir s'il existe un moyen de savoir si une clé fait quelque chose dans vim. Je sais que je peux utiliser :map
pour voir les mappages définis par l'utilisateur, mais y a-t-il quelque chose pour les trucs intégrés?
Par exemple, j'ai toujours eu CTRL-W lié à fermer l'onglet, parce que je pensais qu'il n'était pas utilisé. Après six mois, j'ai découvert qu'il y avait des séquences qui l'utilisaient, comme CTRL-WCTRL-S de fendre la fenêtre, et c'était un cauchemar de me recycler.
Si vous consultez la réponse suggérée par Randy Morris, vous constaterez que
:help index
vous donnera la liste que vous souhaitez.
Pour vérifier le mappage par défaut:
:help index
Pour les autres mappages effectués par les utilisateurs ou le plugin:
:map
:map!
De http://vim.wikia.com/wiki/Mapping_keys_in_Vim_- Tutoriel (Part_1) :
La première commande affiche les cartes qui fonctionnent en mode normal, visuel et sélection et opérateur en attente. La deuxième commande affiche les mappes qui fonctionnent en mode insertion et en ligne de commande.
En règle générale, la sortie des commandes ci-dessus s'étendra sur plusieurs pages. Vous pouvez utiliser l'ensemble de commandes suivant pour rediriger la sortie vers le fichier vim_maps.txt:
:redir! > vim_maps.txt :map :map! :redir END
Pas une réponse complète, mais vous voudrez peut-être vérifier :help map-which-keys
pour 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 façon de savoir si une clé spécifique est mappée à une action.
Utilisez :map!
Et :map
Pour définir manuellement les clés et :help 'char(-combination)'
pour savoir quelles clés sont déjà mappées dans vim prêt à l'emploi (/ hors de votre compilation spécifique options). (Légèrement hors sujet mais toujours respectable (je pense): utilisez :scriptnames
Pour voir quels fichiers ont été obtenus dans quel ordre.)
J'ai parcouru :help index
et fait une liste de certaines des clés nmap
inutilisées:
<Space>
(identique à l
en mode normal; la clé la plus grande et la plus sous-utilisée en mode normal)Veuillez mettre à jour/commenter.
Vous pouvez utiliser mapcheck
.:-
Par exemple, je voulais mapper <CR> ,i
à gg=G
pour mettre un fichier en retrait. Pour vérifier s'il existe déjà un mappage pour <CR> , i
if mapcheck("\<CR>", "I") == "" |echo "no mapping"
... mais cela ne détectera pas si le mappage fait partie d'une séquence.