web-dev-qa-db-fra.com

Comment puis-je obliger vim à conserver son historique d'annulation?

Si j'édite deux fichiers avec vim, le passage à l'autre fichier (: bnext,: bprev) semble supprimer l'historique d'annulation du fichier ouvert. Si vous appuyez sur la touche 'u', vous obtenez le message "Déjà, modification la plus ancienne".

Par exemple:

  1. vim testfile1 testfile2
  2. ajouter des trucs à testfile1
  3. :w
  4. :bn
  5. :bp
  6. uname__
  7. eep! ne peut pas annuler!

Existe-t-il un moyen de conserver cet historique pour les tampons non visibles?

35
Jeremy Kerr

On dirait que ça va le faire:

:set hidden

(en .vimrc)

18
Jeremy Kerr

La dernière version de vim (7.3) comporte une annulation persistante. Vous pouvez ainsi apporter une modification, fermer vim complètement (même arrêter et redémarrer), redémarrer vim et annuler. Dans votre .vimrc:

" tell it to use an undo file
set undofile
" set a directory to store the undo history
set undodir=/home/yourname/.vimundo/
41
frabjous

Vous pouvez utiliser Viewports .
"vim -o testfile1 testfile2" - ouvre les fichiers dans une fenêtre séparée.
": sp nomfichier" - divise et ouvre "nomfichier".
": nom de fichier vsp" - division verticale et ouvrir "nom de fichier".
"Ctrl + w + arrow" - Change la fenêtre d'affichage.

1
yevhene