Dans VIM, puis-je savoir quelles touches je viens de taper?

11

Parfois, j'utiliserai VIM et quelque chose se passera, et je ne sais pas ce que c'était ou ce que j'ai tapé qui l'a causé. Existe-t-il un moyen de répertorier certaines des touches récentes qui ont été saisies et, mieux encore, de savoir quelles actions elles ont déclenchées?

Owen
la source

Réponses:

7

Vima une option dont -Wvous pourriez abuser, mais elle ne fonctionnera pas tant qu'elle Vimest en cours d'exécution.

-w {scriptout}

Tous les caractères que vous saisissez sont enregistrés dans le fichier {scriptout}, jusqu'à ce que vous quittiez Vim. Ceci est utile si vous souhaitez créer un fichier de script à utiliser avec "vim -s" ou ": source!". Si le fichier {scriptout} existe, des caractères sont ajoutés.

-W {scriptout}

Comme -w, mais un fichier existant est écrasé.

Appel Vimavec par exemple un alias

vim -W /tmp/vimlog-$(id -un)

vous permettra d'inspecter avec less /tmp/vimlog-$(id -un)ou cat -v /tmp/vimlog-$(id -un)ce que vous avez littéralement tapé après avoir quitté Vim.

peth
la source
Ceci est une idée intéressante. Je vais essayer ceci et voir si j'apprends quelque chose.
Owen
3

Assurez-vous d'abord que vim se souvient de toutes les lignes de l'histoire. Cela définit l'historique à 1000 commandes et recherches:

:set history=1000

Si vous tapez le début de ce que vous recherchez, vous pouvez utiliser les touches pour faire défiler l'historique - cela s'applique aux commandes et aux recherches.

Par exemple, si vous avez recherché la Chine puis Cuba puis le Tchad puis Chypre :

Vous pouvez taper /cet appuyer plusieurs fois. Vous trouverez qu'il affiche /cyprusalors /cubaalors /china( /Chadest sautée car il ne démarre pas avec un c ).

Autres commandes:

  • :history répertorie toute l'histoire.
  • :his répertorie l'historique des commandes.
  • :his / répertorie l'historique des recherches.
Gaffe
la source
2
Je ne pense pas que cela s'applique aux commandes en mode normal uniquement aux commandes en mode ex (c'est-à-dire les commandes commençant par ':', exemple: e: w: q)
kmkkmk
1
Pour voir l'historique des commandes ex, vous pouvez également taper simplement q:en mode normal. il en va de même pour l'historique des recherches avecq/
Yab
2

Vous pouvez ajouter ceci à votre .vimrc:

set showcmd

Il affichera dans la barre d'état la commande que vous effectuez en les tapant. Bien que cela ne vous donne pas d'histoire, c'est la solution la plus proche que je connaisse.

Si toutefois vous parlez de excommandes, l'avertisseur de Gareth est la voie à suivre

Yab
la source