Czasami zdarza się, że otwieram plik i wprowadzam pewne modyfikacje jako mój użytkownik, nie zauważając ani nie zapominając o zauważeniu [read-only]
ostrzeżenia w wierszu stanu (np. Jakiś losowy /etc
plik konfiguracyjny, taki jak /etc/resolv.conf
).
:w!
oczywiście kończy się niepowodzeniem w tym przypadku, ponieważ mój użytkownik i tak nie ma uprawnień do zapisu. Więc muszę :w /home/filename
wyjść i sudo mv ...
bardzo niewygodnie.
Czy jest jakiś sposób, żebym tymczasowo eskalował do roota, aby móc zapisać aktualnie otwarty plik? (pod warunkiem, że jestem w sudoers
/ i mogę su
bezpośrednio)?
źródło
SuperWrite
działa, ale ponownie wyświetla plik w tobie. Uruchomienie go:silent
spowoduje, że hasło zostanie wprowadzone niewidocznie.silent
Wydaje się, że dodawanie działa dobrze?w ! tee % > /dev/null
To nadal będzie odzwierciedlać wynik polecenia (pojedyncza linia), ale nie całą zawartość bufora.tee
i wyrzucania danych wyjściowych, niecat
działałoby również, jeśli nie chcesz wydrukować pliku?Korzystam z następującego mapowania w moim .vimrc, które uważam za przydatne:
Łatwo to zapamiętać, ponieważ
w
jest to „pisać”,w!
jest „wymuszać zapisywanie” iw!!
„super-duper-wymusza zapisywanie”. : Pźródło
W
, alew!!
ma o wiele więcej sensu, zaktualizuję mój .vimrc. Dzięki