2017-06-24 5 views
0

quelqu'un sait s'il existe un moyen d'enregistrer l'écriture dans vim pendant que vous ajoutez du texte, comme l'annuler/refaire, mais que ceux peuvent ensuite jouer comme éditeur de codility. MerciComment enregistrer l'historique d'écriture dans vim

+1

Vous voulez dire annuler de manière persistante? C'est déjà dans Vim. Voir [': help 'undofile''] (http://vimhelp.appspot.com/options.txt.html#%27undofile%27) et [Comment puis-je utiliser le non-document?] (Https: //vi.stackexchange .com/q/6/51). – Carpetsmoker

+0

hemmm .. c'est plus que rien, mais maintenant, je devrais défaire tout le fichier jusqu'à ce qu'il soit vide et ensuite: refaire jusqu'à ce qu'il se remplisse à nouveau, mais de cette façon je suppose que je vais manquer un peu d'annulation entre exemple si j'écris: 123 \ n 456 \ n: wg alors je vais revenir en arrière et le rétablissement fonctionnera bien, mais si j'écris 123 \ n 678 \ n: u 456 \ n: wq la méthode de refaire manquera le 678 \ n. Je veux qu'ils voient comment mon écriture a évolué dans le temps. – pslavkin

+0

Le non-enregistrement enregistre uniquement les étapes d'annulation du passé, pas les étapes précédentes que vous avez annulées. – Carpetsmoker

Répondre

1

D'abord, Vim undo est pas une simple séquence linéaire comme dans la plupart des autres applications, il stocke en fait un arbre complet qui comprend les modifications qui ont été plus tard annulées. Cet arbre peut être parcouru avec des commandes intégrées telles que g- et :earlier; plus confortablement avec des plugins comme Gundo ou undotree.vim. C'est une bonne approche pour rappeler une solution alternative précédemment abandonnée. (. En utilisant le contrôle de version et fréquentes, commits atomiques serait encore mieux)


Si vous voulez enregistrer l'intégralité de votre session d'édition, cette option intégrée de ligne de commande est pour vous:

-w {scriptout} All the characters that you type are recorded in the file 
       "scriptout", until you exit Vim. This is useful if you want 
       to create a script file to be used with "vim -s" or 
       ":source!". When the "scriptout" file already exists, new 
       characters are appended. 

Je ne suis pas sûr de savoir comment cela fonctionne dans la pratique (vous devrez sauvegarder et restaurer le contenu du fichier d'origine quelque part, aussi). Il n'y a certainement pas de «contrôle de la vitesse» ou de franchissement.


Si vous voulez rejouer votre processus d'édition tout lui-même, je recommande un logiciel d'enregistrement d'écran (en fonction de votre système d'exploitation, et si vous utilisez GVIM ou le terminal). Ceux-ci génèrent typiquement une certaine vidéo (par exemple MP4) à partir de celle-ci, ce qui est pratique à voir dans n'importe quel lecteur de film (y compris le saut et l'avance rapide). Mais c'est un peu gros comme un format de stockage à long terme.

+0

Merci Ingo, je vais prendre un cliché et je vous le ferai savoir. L'enregistrement d'écran n'est pas une option, 'cose vous répondez de vous-même, j'examinerai l'option -w .. peut-être une combinaison de ces solution plus certains script accomplissent mon but. Tks! – pslavkin