S'il vous plaît, ne me votez pas pour cela. Je ne recommande pas d'implémenter cette réponse, mais c'est la réponse que le rkthkr demande.
rkthkr a dit:
Mais ce serait bien d'avoir redémarré vim et de l'exécuter en tant que root
La façon de le faire est avec :!sudo vim %
Comme je l'ai mentionné à ipozgaj, un% en tant qu'argument (même un sous-argument) est remplacé par le chemin d'accès au tampon actuel. (Vous pouvez être invité à entrer votre mot de passe.) Vous vous retrouvez avec un nouveau processus vim, détenu par root, qui est un processus enfant du processus vim d'origine. Ça a l'air maladroit, non? Voici à quoi ça ressemble en ps:
~# ps afo pid,ppid,user,stat,comm
PID PPID USER STAT COMMAND
16187 30478 rbronosky Ss bash
16510 16187 rbronosky R+ \_ ps
30482 30478 rbronosky Ss bash
16244 30482 rbronosky S+ \_ vim
16318 16244 root S+ \_ vim
Si vous disposez d'autorisations d'écriture dans le répertoire contenant le fichier et que vous y avez apporté des modifications, vous pouvez être averti qu'un fichier d'échange se ferme. Le choix de [R] ecover, reflétera la plupart * des modifications apportées par le processus parent vim. (* Je pense que la mise à jour du swap est peut-être chronométrée ou a un seuil delta. J'ai déjà consacré trop de temps à cela et je ne me soucie pas de le rechercher.) Lorsque vous quittez Vim, ne vous inquiétez pas lorsque vous êtes toujours dans vim ... vous avez ouvert un 2ème processus vim. Rappelles toi?
Maintenant, avec tout cela dit ... Je ne ferais presque jamais ça. Peut-être, si je n'ai pas eu assez ou beaucoup trop de café, et j'ai réalisé que j'allais avoir besoin d'éditer plusieurs fichiers supplémentaires en tant que root ... Je pourrais essayer cela. En 14 ans d'administration de systèmes, je ne l'ai jamais fait. Mais, jusqu'à ce que vous exprimiez votre mécontentement à l'égard de ma solution préférée (qui est exactement celle proposée par dbr), je n'y avais jamais pensé.