To często zdarza mi się problem z użytecznością:
Otwieram plik systemowy tylko do odczytu za pomocą vima, nawet go edytuję, ponieważ nie jestem wystarczająco uważny lub ponieważ vim w systemie jest źle skonfigurowany. Po wprowadzeniu zmian utknąłem w pamięci, aby zapisać je w pliku tymczasowym lub je stracić, ponieważ: w! nie zadziała.
Czy istnieje polecenie vim (: W !!!), które pozwala zapisać bieżący bufor jako superużytkownik? (Vim zapyta oczywiście o twoje hasło sudo lub su)
sudoedit
polecenia. To pytanie koncentruje się bardziej na zapomnieniu wpisania go na pierwszym miejscu i podniesieniu po uruchomieniu edytora.Odpowiedzi:
Objaśnienie: Za pomocą
!
można uruchamiać programy. Przedrostek: w, zawartość pliku (zawartość, którą masz w vimie, a nie oryginalny plik, a dokładniej: bufor) zostanie przekazana do komendy na standardowym wejściu.%
zostaje zastąpiony nazwą pliku, co>/dev/null
pozwala uniknąć ponownego drukowania zawartości na ekranie (co jest typowym zachowaniemtee
).Znalazłem jeszcze krótszą drogę.
dd
nie drukuje na standardowe wyjście, więc możesz zapisać wartość zerową.
To samo dotyczy
:r
wstawiania wyniku danego polecenia, dzięki czemu można na przykład wstawić bieżącą datę do pliku za pomocą:r !date
źródło
Próbować:
źródło