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!
,