vim не может записывать в файлы, даже если используется sudo
Я нахожу это с vim, если я попытаюсь отредактировать файл, который, как обычный пользователь, у меня нет прав на запись, даже если я использую sudoЯ не могу написать, хотя, если я использую nano редактировать тот же файл, он работает.
Так, например, если я делаю:
sudo vim /var/path/to/file.conf
Я получу это в файле и не смогу редактировать этот файл:
"/var/path/to/file.conf" [readonly]
Но если я вместо этого сделаю:
sudo nano /var/path/to/file.conf
Он сможет писать в файл, почему это так, почему sudo не дают vim доступ для записи, как это делается с nano? Это какая-то ошибка? Или это просто то, что должно быть? Потому что это очень раздражает.
Информация об ОС:
Description: Ubuntu 15.04
Release: 15.04
Информация о пакете:
vim:
Installed: 2:7.4.488-3ubuntu2
Candidate: 2:7.4.488-3ubuntu2
Version table:
*** 2:7.4.488-3ubuntu2 0
500 http://gb.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
100 /var/lib/dpkg/status
1 ответ
Это предполагаемое поведение vim (и vi).
Когда вы редактируете файл только для чтения, пытаясь записать файл обычным способом (с :w) не удается Это сделано для предотвращения случайного изменения файла только для чтения, который вы, возможно, не захотите изменять.
Если вы действительно хотите переопределить разрешения на чтение только для вашего файла и записать свои изменения в файл, вы должны использовать :w! Команда VIM знает, что это то, что вы хотите.
- Это похоже на то, как
:qне выйдет, если есть несохраненные изменения, но:q!будут.
Если вы хотите записать какие-либо изменения и выйти в одной команде, вы можете использовать :wq! или же :x!,