Ой, я залишив файл захищеним від запису
Скажімо, ви редагуєте якийсь файл і здійснили багато змін. Оскільки це надзвичайно важливий файл і випадкові зміни небажані, ви захистити його від від запису, навіть для себе самого.
Vim редактор дозволяє редагувати і зберігати захищені від запису файли, вам лише необхідно добавити знак наголосу під час збереження (:w!
). Єдиний випадок коли ви отримаєте помилку, це якщо намагатиметесь завершити роботу командою ZZ
:
file.txt File is read only
Vim відмовиться припинити роботу.
Що ж робити? Ви, звичайно, не захочете скасувати всі ваші редагування, але вам одночасно необхідно вийти з Vim щоб включити дозвіл на запис. У такому випадку вам допоможе можливіть Vim повернути вас до оболонки за допомогою команди :shell
(або скороченої :sh
). Остання виведе вас з Vim (помістить редактор у фоновий режим) і запустить натомість оболонку. Тепер ви можете поміняти дозволи файла:
$ chmod u+w file.txt
Після цього ви повинні вийти з оболонки і повернутися до редактора:
$ exit
Накінець, вам потрібно заставити Vim записати файл командою:
:w!
(редактор все ще вважає що файл захищений, тож нам необхідно використати примусову опцію "!
")
Примітка:
Намагайтеся не забути що Vim все ще запущений після :sh
комади, не починайте звідти нових сесій Vim, інакше ви можете заплутатись.
Ця метода також може використовуватись у випадку якщо ви не є власником файла (вам необхідно стати root користувачем і поміняти власника) або коли встановлені спеціальні атрибути, описані у сторінці chattr(1).