Пожалуйста, не голосуйте за меня. Я не рекомендую реализовывать этот ответ, но это ответ, который просит rkthkr.
rkthkr сказал:
но было бы хорошо, чтобы vim перезапустился и запустился с правами root
Способ сделать это с помощью :!sudo vim %
ipozgaj:% в качестве аргумента (даже субаргумента) заменяется путем к текущему буферу. (Вам может быть предложено ввести пароль.) В результате вы получите новый процесс vim, принадлежащий root, который является дочерним процессом исходного процесса vim. Звучит глупо, верно? Вот как это выглядит в 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
Если у вас есть права на запись в каталог, содержащий файл, и вы внесли изменения в него, вы можете получить предупреждение о выходе файла подкачки. Выбор [R] ecover отражает большинство * изменений, внесенных родительским процессом vim. (* Я думаю, что, возможно, обновление свопа рассчитано по времени или имеет дельта-порог. Я уже слишком много времени уделяю этому и не хочу исследовать его.) Когда вы выходите и выходите из vim, не пугайтесь, когда вы все еще в vim ... вы открыли второй процесс vim. Помнить?
Теперь, со всем этим сказано ... Я бы почти никогда не делал этого. Возможно, если у меня было недостаточно или слишком много кофе, и я понял, что мне нужно будет отредактировать еще несколько файлов от имени root ... Я мог бы попробовать это. За 14 лет администрирования систем у меня никогда не было. Но, пока вы не выразили недовольство по поводу моего предпочтительного решения (которое точно соответствует предложению dbr), я никогда не думал об этом.