Закрывать редактор, терять изменения и заново открывать файл через
sudo не требуется.Из Vim выполните:
:w !sudo tee % >/dev/null
:w ! команда передаёт текущее содержимое буфера во внешнюю команду через стандартный ввод. % подставляется Vim как имя текущего файла, а sudo tee записывает полученные данные уже с повышенными правами.После этого перечитайте файл с диска:
:e!
Запись выполнил внешний
tee, а не сам Vim, поэтому редактор может продолжать считать свой буфер изменённым.🔥 При необходимости можно сохранить права и владельца существующего файла, поскольку
tee открывает сам файл для перезаписи, а не создаёт новый через временный файл и rename.🚪 Linux Ready | #совет
