Proszę, nie głosujcie na mnie za to. Nie polecam implementowania tej odpowiedzi, ale jest to odpowiedź, o którą prosi rkthkr.
rkthkr powiedział:
Ale byłoby miło, gdyby vim zrestartował się i działał jako root
Sposobem na to jest, :!sudo vim %
jak wspomniałem ipozgaj,% jako argument (nawet pod-argument) zostaje zastąpiony ścieżką do bieżącego bufora. (Może pojawić się monit o podanie hasła.) W efekcie powstaje nowy proces vim, którego właścicielem jest root, czyli proces potomny oryginalnego procesu vim. Brzmi głupio, prawda? Oto jak to wygląda w 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
Jeśli masz uprawnienia do zapisu do katalogu zawierającego plik i dokonałeś w nim edycji, możesz zostać ostrzeżony, że plik wymiany zostanie zamknięty. Wybór [R] ecover, odzwierciedla większość * zmian dokonanych przez proces vim nadrzędny. (* Myślę, że być może aktualizacja wymiany jest zaplanowana na czas lub ma próg delta. Włożyłem już w to zbyt dużo czasu i nie chcę tego badać.) Kiedy idziesz i rezygnujesz z vima, nie przejmuj się, gdy jesteś wciąż w vimie ... otworzyłeś drugi proces vim. Zapamiętaj?
Teraz, z tym wszystkim powiedziane ... Prawie nigdy bym tego nie zrobił. Może, gdybym nie miał wystarczającej lub zbyt dużej ilości kawy i zdałem sobie sprawę, że będę musiał edytować kilka kolejnych plików jako root ... mógłbym spróbować. Przez 14 lat administrowania systemami nigdy nie miałem. Ale dopóki nie wyraziłeś niezadowolenia z mojego preferowanego rozwiązania (które jest dokładnie tak, jak oferowane dbr), nigdy o tym nie myślałem.