Changement de Vim swap/sauvegarder/annuler nom de fichier
Est-il possible de changer la façon dont Vim noms de ses swap//sauvegarde de fichiers d'annulation?
Pour éviter l'encombrement, j'ai mis des options dans mon ~/.vimrc
pour vider ces fichiers dans ~/.vim/tmp/{swap,backup,undo}
; cependant, comme je l'ai régulièrement modifier des fichiers dans des répertoires différents avec le même nom, j'ai souvent plein d'sinon impossible de distinguer les fichiers et Vim a parfois des difficultés à récupérer.
Idéalement, je voudrais utiliser le schéma de nommage que la persistance de l'annuler a (%path%to%file.undo
) pour tous ces fichiers auxiliaires, il n'y a pas de moyen évident de le définir, mais peut-il être fait avec Buf{Read,Write}
des macros?
Vous devez vous connecter pour publier un commentaire.
J'ai cela dans mon
.vimrc
et il nomme les fichiers de swap avec le chemin complet des noms et des signes de pourcentage, juste comme vous le décrivez:La clé est la
//
à la fin de l'répertoires. Voir cette note de:help dir
://
ou \\, le nom de fichier d'échange sera construit à partir du chemin d'accès complet vers le fichier avec tous les séparateurs de chemin substitué pour cent%
signes. Ceci permettra d'assurer l'unicité du nom de fichier dans la préserver répertoire.Voici une partie de mon
.vimrc
de github.Cela définit le
undodir
(et il tourne sur), définit labackupdir
, etdirectory
(utilisé pour.swp
fichiers). Notez qu'il crée les répertoires s'ils n'existent pas déjà.Espérons-le, c'est commenté assez bien pour comprendre ce qu'il se passe. Sinon, ajoutez un commentaire et je vais le corriger.
Ciao!
Mise à jour [07/16/2012]
J'ai reçu un mail de Rob Kiné poser ces questions au sujet de la
backupdir
l'article que je voulais répondre pour tout le monde:^=
opérateur de faire?La première chose est de décrire les différents opérateurs. Ces opérateurs ont des significations différentes pour la non-string-options de la liste, alors soyez prévenus!
-=
enlève de la valeur à partir d'une liste de chaînes;+=
ajoute de la valeur à une liste de chaînes;^=
ajoute de la valeur à une liste de chaînes.De sorte que le
backupdir
a la suite des opérations appliquées:~/.vim/backup/
.~/.vim-backup/
.Quand Vim cherche l'emplacement où enregistrer les sauvegardes, il vérifie à partir de la première à la dernière; donc, il va vérifier pour
~/.vim-backup/
, puis vérifier~/.vim/backup
, puis vérifiez la liste par défaut (sauf pour.
et~/
qui ont été supprimés), et enfin vérifier.
Vous pouvez obtenir de l'aide pour tous ces Vim en utilisant (par exemple)
:help ^=
ou:help backupdir
.Créer le répertoire annuler
Configurer votre .fichiers vimrc
mkdir
, ai-je le droit?