Voici une partie de mon .vimrc
de github .
Cela permet de définir le undodir
(et l'allume), définit le backupdir
y directory
(utilisé pour .swp
fichiers). Notez qu'il crée les répertoires s'ils n'existent pas déjà.
" Save your backups to a less annoying place than the current directory.
" If you have .vim-backup in the current directory, it'll use that.
" Otherwise it saves it to ~/.vim/backup or . if all else fails.
if isdirectory($HOME . '/.vim/backup') == 0
:silent !mkdir -p ~/.vim/backup >/dev/null 2>&1
endif
set backupdir-=.
set backupdir+=.
set backupdir-=~/
set backupdir^=~/.vim/backup/
set backupdir^=./.vim-backup/
set backup
" Save your swp files to a less annoying place than the current directory.
" If you have .vim-swap in the current directory, it'll use that.
" Otherwise it saves it to ~/.vim/swap, ~/tmp or .
if isdirectory($HOME . '/.vim/swap') == 0
:silent !mkdir -p ~/.vim/swap >/dev/null 2>&1
endif
set directory=./.vim-swap//
set directory+=~/.vim/swap//
set directory+=~/tmp//
set directory+=.
" viminfo stores the the state of your previous editing session
set viminfo+=n~/.vim/viminfo
if exists("+undofile")
" undofile - This allows you to use undos after exiting and restarting
" This, like swap and backups, uses .vim-undo first, then ~/.vim/undo
" :help undo-persistence
" This is only present in 7.3+
if isdirectory($HOME . '/.vim/undo') == 0
:silent !mkdir -p ~/.vim/undo > /dev/null 2>&1
endif
set undodir=./.vim-undo//
set undodir+=~/.vim/undo//
set undofile
endif
J'espère qu'il est suffisamment bien commenté pour que vous compreniez ce qui se passe. Si ce n'est pas le cas, ajoutez un commentaire et je le corrigerai.
Ciao !
Mise à jour [16/07/2012]
J'ai reçu un courriel de Rob Kine posant ces questions sur le backupdir
que je voulais répondre pour tout le monde :
- il semble que vous supprimez le répertoire actuel, puis que vous le réinsérez. à quoi cela sert-il ?
- que fait le
^=
l'opérateur fait ?
- comment fonctionne l'ordre de préséance dans l'utilisation des dossiers vérifiés dans vim ? (par exemple, le dernier dossier ajouté est-il le premier à être vérifié ?)
La première chose à faire est de décrire les différents opérateurs. Ces opérateurs ont des significations différentes pour les options qui ne sont pas des listes de chaînes de caractères, alors soyez avertis !
-
-=
supprime la valeur d'une liste de chaînes.
-
.=
ajoute la valeur à une liste de chaînes.
-
^=
ajoute la valeur à une liste de chaînes.
Ainsi, le backupdir
a les opérations suivantes appliquées :
- Supprime le répertoire courant de la liste.
- Ajoute le répertoire courant à la liste (ceci assure qu'il est la dernière chose vérifiée).
- Supprimez le répertoire personnel de la liste (je n'aime pas que des choses y soient enregistrées).
- Préparez
~/.vim/backup/
- Préparez
~/.vim-backup/
Lorsque vim recherche l'endroit où enregistrer les sauvegardes, il vérifie de la première à la dernière ; il vérifiera donc les éléments suivants ~/.vim-backup/
puis vérifiez que ~/.vim/backup
puis vérifiez la liste par défaut (sauf pour .
y ~/
qui ont été supprimés), puis vérifiez .
Vous pouvez obtenir de l'aide pour tout cela dans vim en utilisant (par exemple) :help ^=
o :help backupdir
.