Puis-je récupérer mon code perdu lors de mon dernier changement de vim?
Je suis très triste, j'ai supprimé de mal fonctionner sans commettre de serveur SVN en utilisant vim
Après j'ai compilé j'ai trouvé j'ai fait l'erreur. Je 'faire' le fichier aussi via vim.
Maintenant, je n'ai pas fermé le dossier .swp fichier.
J'ai essayé d'utiliser " u " commande pour restaurer ma suppression, mais a échoué. vim a dit que c'est les derniers changements. soupir.... De toute façon que je peux récupérer ma fonction?
Millions de grâce.
avez-vous essayé :récupérer?
Je pense que cette question est un meilleur ajustement sur SuperUser.com parce que c'est la question sur les fonctionnalités d'un éditeur de texte plutôt que d'une question de programmation. J'espère que vous obtenez votre code de retour!
vi, vim et emacs sont des cas limites. Une question sur la façon de les utiliser serait presque certainement survivre sur les Super-Utilisateur, mais parce qu'ils sont couramment utilisés des outils de programmation, ils sont d'accord pour demander ici aussi.
meta.stackexchange.com/questions/25925/vim-questions-so-or-su sauvegarde @Facture sur ce.
oh... j'ai fait quelque chose de mal ici après que j'ai vérifié révision. désolé les gars, je n'ai pas remarque que. De toute façon, je pense que c'est très important pour les programmeurs en C++ pour savoir comment faire pour récupérer la dernière modification après la compilation du code source. Ce n'est pas l'éditeur de problème je pense.
Je pense que cette question est un meilleur ajustement sur SuperUser.com parce que c'est la question sur les fonctionnalités d'un éditeur de texte plutôt que d'une question de programmation. J'espère que vous obtenez votre code de retour!
vi, vim et emacs sont des cas limites. Une question sur la façon de les utiliser serait presque certainement survivre sur les Super-Utilisateur, mais parce qu'ils sont couramment utilisés des outils de programmation, ils sont d'accord pour demander ici aussi.
meta.stackexchange.com/questions/25925/vim-questions-so-or-su sauvegarde @Facture sur ce.
oh... j'ai fait quelque chose de mal ici après que j'ai vérifié révision. désolé les gars, je n'ai pas remarque que. De toute façon, je pense que c'est très important pour les programmeurs en C++ pour savoir comment faire pour récupérer la dernière modification après la compilation du code source. Ce n'est pas l'éditeur de problème je pense.
OriginalL'auteur CCC | 2011-04-14
Vous devez vous connecter pour publier un commentaire.
De faire Drasils pointeur beaucoup plus explicite:
g- pour 'revenir en arrière dans le temps"
g+ pour "aller de l'avant dans le temps"
Vim 7.3+ a annuler "branches": ce qui signifie qu'il permettra d'économiser de l'état des clichés, même si linéaire de l'histoire a été écrasé (donc il n'est pas accessible par simple u et )
OriginalL'auteur sehe
Vim sont généralement enregistrés de la version précédente d'un fichier édité comme une sauvegarde avec un
~
ajouté -- vous pouvez vérifier pour voir si le fichier existe et si oui, si elle a le droit contenu.Non, je veux dire que si vous modifiez
foo.c
alors vim va souvent créer desfoo.c~
trop. Il semble que vous n'avez pas le droit d'options pour créer ces fichiers (set backup
dans votre .vimrc).Il pourrait vérifier les paramètres en faisant
:echo &backup
, qui sera 1 si la valeur. Puis:echo &backupdir
voudrais montrer dans quel répertoire il est configuré pour enregistrer des sauvegardes.OriginalL'auteur Andrew Aylett
Je ne sais pas si vous pouvez récupérer quelque chose ici, mais pour l'avenir, si vous utilisateur de vim 7.3, vous devriez actif ces options je l'explique dans mon commentaire précédent.
Je dois dire que le savevers plugin m'a sauvé beaucoup d'heures 😉
d'accord avec @ZyX.
persistent-undo
est idéal pour les modifications que vous avez apportées au texte, et veulent revenir. Si vous avezpersistent-undo
, vous ne peut pas même besoin de laswap
options de fichier. Je viens de tort presséqall
et je croyais que j'avais perdu un tas de code. Puis j'ai réalisé que j'avais persistante annuler, et a décidé de vérifier si elle était présente. Comme par magie, j'ai été en mesure de revenir à la dernière version en utilisantearlier 30s
.Persistant annuler est mieux que le
swap
fichier option, car il ne marche pas, mettre beaucoup de fichiers de swap à votre répertoire. Il offre presque tout ce que l'swap
fichier option, car il ne fait presque tout ce que le fichier d'échange option fournit, mais vous permet également de revenir en arrière dans l'histoire, en granulés changements sans endommager votre répertoire avec beaucoup de .swp fichiersPersistant annuler met annuler les fichiers dans le même répertoire swap fonction met les fichiers de swap par défaut dans Vim. Si vous ne voyez pas que, avec la persistance d'annuler, mais le faire avec les fichiers de swap, il signifie simplement que vous avez configuré un, mais pas les autres. De nombreux utilisateurs (moi y compris) configurer Vim pour mettre annuler/swap/les fichiers de sauvegarde ailleurs, et à l'aide d'une sous-répertoires ~/.local/share/nvim pour ces fichiers (sans sauvegarde) est la valeur par défaut dans Neovim.
Ouais.. j'ai tourné swap/sauvegarde de fichiers. Il a utilisé le plus fréquemment à l'origine de conflits. Je n'utilise que des
persistent-undo
et l'avoir configuré pour enregistrer dans un spécifiques annuler répertoire. Puisque vous utilisezswap
,backup
etpersistent-undo
, je me demandais si vous voyez zonepersistent-undo
ne le couvre pas, pour lequel vous utilisez sauvegarde de/swap fichiers?OriginalL'auteur Drasill
Il ya un couple de façons de récupérer le texte que vous avez involontairement perdu en raison d'un accident ou parce que vous avez fermé votre programme de façon non intentionnelle.
Utilisation persistante-annuler. Persistant annuler fournit presque toutes les fonctionnalités fournies par swap/fichier de sauvegarde option dans les points n ° 2 et 3, ainsi que quelques autres options telles que granulaire de l'histoire de la traversée.
un. Ensemble
persistent-undo
sur:Mettre ceci dans votre
.vimrc
:set undofile
set undodir=~/.vim/undodir
b. Créer le undodir
mkdir ~/.vim/undodir
c. Pour annuler une modification, utilisez l'une des options suivantes
1)
g+
en mode normal d'aller de l'avant dans l'histoire2)
g-
en mode normal pour revenir en arrière dans l'histoire3).
earlier 20s
à remonter le temps en 20s ouearlier 10m
à remonter le temps en 10min etc4)
later 20s
à aller de l'avant dans le temps par les 20 oulater 10m
à aller de l'avant dans le temps, en 10min etc5). Utilisation
undol
pour obtenir une liste d'annuler les modificationsd. Pour obtenir une visualisation de votre annulation-branches, vous pouvez utiliser des plugins comme
gundo.vim
: http://bitbucket.org/sjl/gundo.vim/ de visualiser les branchesUtiliser les fichiers de sauvegarde
un. L'utiliser dans vos
.vimrc
set backup
b. Définir le répertoire de sauvegarde par mettre dans votre
.vimrc
`set répertoire_sauvegarde=~/tmp/
c. Configurer le fichier de sauvegarde nameto être ajouté au fichier de sauvegarde, par la définition de cette dans votre
.vimrc
set backupext=string
Utiliser les fichiers de swap
un. L'utiliser dans vos
.vimrc
set swapfile
b. Configurer le swap répertoire en mettant dans votre
.vimrc
. Ce ne peut pas être une bonne idée, car il vous empêcher d'avoir deux fichiers avec le même nom, ou de provoquer des conflits dans les noms de fichier d'échange.set directory=~/tmp/
Une meilleure option est de fournir de multiples chemins, donc si vim rencontre un conflit, il peut l'enregistrer dans le répertoire qu'il peut écrire à l'aide de
set directory=,~/tmp/
Dans ce cas, il va essayer d'écrire le fichier d'échange pour le répertoire courant. Si elle ne peut pas, alors il va tenter de l'écrire dans le ~/tmp
c. Configurer le nom du fichier de sauvegarde à être ajoutés à la sauvegarde de fichier en paramètre dans votre
.vimrc
set backupext=string
TL;DR Utilisation
persistent-undo
. Il fournit presque toutes les caractéristiques deswap
etbackup
, et fournit des fonctionnalités supplémentaires telles que les granulés de défaire ce qui n'est pas fourni parbackup
etswap
options de fichier.Références
1. ftp://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf
OriginalL'auteur alpha_989