Сохранить файл после того, как вы забыли открыть его как root / sudo vi

Возможный дубликат:
vim отредактируйте как root

Я мог бы поклясться, что видел этот вопрос. Но после просмотра каждого результата поиска по запросу "vi" я озадачен / ленив.

Я открыл файл, произвел редактирование, и теперь я понимаю, что он доступен только для чтения, и я открыл его как пользователь без полномочий root.

4 ответа

Решение

Я думаю, что вы хотите что-то вроде этого:

:w !sudo tee "%"

Я впервые увидел это в командной строке. Кавычки необходимы только в том случае, если путь к файлу содержит пробелы.

Я делаю это время от времени, и если сделанные мной изменения тривиальны, я просто завершаю работу и снова редактирую его как root.

в противном случае я сохраняю файл в / tmp и mv / cp как root, где он действительно принадлежит позже. и используйте chown / chgrp / chmod, чтобы исправить владение /perms.

Рассмотрите возможность добавления этой строки в ваш vimrc:

" Remaps :SW to sudo save the current file and tell vim to reload it
command SW execute 'w !sudo tee % >/dev/null' | e! %

Попробуйте это http://blog.sriunplugged.com/2009/12/how-to-save-file-in-vi-not-opened-with-sudo/. Это то, что вы хотите, я думаю,

Другие вопросы по тегам