Вопрос по vim, linux, sudo – Могу ли я получить права root без выхода из vim?
Иногда, когда я редактирую файл, требующий прав суперпользователя (например, файлы в / etc), но я забываю запустить vim от имени sudo.
После завершения редактирования введите:wq
Я считаю, что не могу сохранить и уйти, даже используя!wq
, потому что файл только для чтения.
Если я оставлю и заново отредактирую файл, все мои работы будут потеряны, но если нет, я не смогу сохранить свое редактирование. Итак, как мне получить разрешение root на запись, не выходя из vim?
@sehe - семантика ... принята тогда
Вы можете пометить ответ как правильный сейчас :)
Самым простым решением, конечно, является использование Emacs, который не позволяет редактировать файл, если у вас нет разрешения на его сохранение.grins, ducks and runs
Я не думаю, что вы можете, просто скопируйте все, что у вас есть, закройте vim, запустите sudo и вставьте. отредактируйте: или сделайте, как ответил darryn.ten.
@ darryn.ten Нет «правильных» ответы. Просто "полезно" и / или «принято»; ответы :)
2
ответа
:w !sudo tee %
Он попросит вас ввести пароль.
@Michael: Обычный обходной путь, используемый для того, чтобы избавиться от необходимости запоминать сложную команду, заключается в создании пользовательской команды:
:command! W w !sudo tee % >/dev/null
.
@ Энди: см. Вопрос & quot;How does the vim “write with sudo” trick work?& Quot;
Я протестировал его, и он работает, как и ожидалось, большое спасибо. Можете ли вы сказать мне, почему я должен эту команду, какую дозу это значит?
Я заставил себя запомнить это, поскольку я использую это довольно регулярно
Я никогда не могу вспомнить это, когда мне это нужно: /
tee
это мило; если вам это нужно часто, я рекомендуюПлагин SudoEdit, который предлагает:SudoWrite
команда (и дажеsudo:
обработчик протокола).
Похожие вопросы
@sehe - семантика ... принята тогда
Вы можете пометить ответ как правильный сейчас :)
Самым простым решением, конечно, является использование Emacs, который не позволяет редактировать файл, если у вас нет разрешения на его сохранение.grins, ducks and runs
Я не думаю, что вы можете, просто скопируйте все, что у вас есть, закройте vim, запустите sudo и вставьте. отредактируйте: или сделайте, как ответил darryn.ten.
@ darryn.ten Нет «правильных» ответы. Просто "полезно" и / или «принято»; ответы :)