Je voudrais savoir quels sont les modèles les plus courants que j'utilise lors du codage. Je cherche donc un moyen d'enregistrer toutes mes entrées au clavier pendant que je suis dans Vim, de préférence avec des horodatages. Ensuite, je pourrais faire une analyse des modèles / mouvements utilisés les plus récents, du temps nécessaire à une action et trouver des choses à optimiser.
Existe-t-il un moyen idiomatique de le faire à Vim? Dois-je essayer d'écrire un plugin pour cela? Quelles seraient les implications de performance de faire quelque chose comme ça?
Merci
-w
drapeau lorsque vous démarrez vim. Vous pouvez enregistrer toutes les frappes avec.vim -w file.log
) et fournit un script haskell pour analyser le fichier en commandes distinctes que vous pouvez ensuite analyser. Pas d'horodatage cependant.vim -w <(./test-io.py > log)
(vim -w <(tee raw-log | ./test-io.py > log)
si vous voulez aussi la sortie brute) ( * nix uniquement ). Cela devrait écrire toutes vos entrées avec des horodatages, un octet par ligne, enlog
. Ce que j'ai remarqué, c'est que vim ne produit pas les commandes une par une mais les vide.Réponses:
Vim permet de
-w
consigner toutes les entrées lorsque l' option de ligne de commande est passée avec un fichier:Maintenant que nous avons accès à l'entrée, nous pouvons la rediriger où nous voulons. Par exemple, la manière suivante ( systèmes * nix uniquement ):
Où se
timestamper.py
trouve le court script python suivant:Le script peut être remplacé par n'importe quel autre programme qui prend une entrée si vous voulez faire quelque chose de plus sophistiqué.
REMARQUE: Après quelques tests courts, j'ai découvert que vim semble garder un tampon des entrées qu'il vide à un moment donné et à la sortie. Cela rend les horodatages assez peu fiables.
la source
:terminal
problèmes liés à l'entrée, donc cela devrait être une fonctionnalité utile. Je ne suis pas familier avec l'API de plugin distant qu'ils ont, mais cela pourrait également avoir un moyen d'obtenir l'entrée en temps réel.