Какие ограничения в режиме только для чтения вас беспокоят? Если вы просто хотите записать файл, даже если вы открываете его только для чтения, то добавление a !к wкоманде даст результат, как сказал Майкл.
Bananguin
1
@ user1129682 просто неудобно вспоминать о восклицательном знаке после wкаждого раза, когда я хочу сохранить. хех
неправильное имя пользователя
Ответы:
45
Вы могли бы сделать это:
:set noro
Это снимает флажок только для чтения, но если базовый файл по-прежнему недоступен для записи, vim все равно не сможет записать в него.
В дополнение к ответу Михаэля Мрозека вы можете добавить в свою строку строку .vimrc, позволяющую записать файл, который вы пренебрегали открытием с повышенными правами доступа:
" Allows writing to files with root priviledges
cmap w!! w !sudo tee % > /dev/null
Если файл только для чтения, вам нужно только ввести :w!!, вам будет предложено ввести пароль, а затем файл будет успешно записан.
В то время как :set noro делает работу, он не проверяет, открыт ли файл другим экземпляром vim, или обновляет файл при внешнем изменении.
Чтобы сделать его редактируемым и проверить наличие файлов подкачки (это файл по умолчанию, открывающий файл с помощью vim), просто используйте команду edit (: help edit):
:e
Обратите внимание, что если с тех пор этим файлом манипулировали (даже вне vim), он обновит изменения в текущем буфере (что я обычно считаю желательным).
Здесь я иду, хотя и немного поздно, может быть, вы уже решили свои сомнения;) Я не видел ни в одном из комментариев, как я знаю с vim , поэтому я добавляю его:
Как только вы редактируете файл, вы нажимаете :wили :wq, и вы видите раздражающее сообщение " E45 'readonly' опция установлена (добавить! Для переопределения) "
Вы можете напечатать
:w !sudo tee %
w пишет буфер,
!sudo вызывает оболочку с помощью sudo,
tee перенаправляет вывод vim :w на выход с тройником, и
% текущее имя файла
И это должно сработать. Обратите внимание, что это предложит перезагрузить файл в vim, для чего вы должны нажать L
!
кw
команде даст результат, как сказал Майкл.w
каждого раза, когда я хочу сохранить. хехОтветы:
Вы могли бы сделать это:
Это снимает флажок только для чтения, но если базовый файл по-прежнему недоступен для записи, vim все равно не сможет записать в него.
источник
:set ro
.view
но затем решаете отредактировать его.Вы можете запустить
chmod
изнутри vim:!
означает запустить команду оболочки и%
является текущим именем файла. Вы также можете просто форсировать запись файла:источник
В дополнение к ответу Михаэля Мрозека вы можете добавить в свою строку строку
.vimrc
, позволяющую записать файл, который вы пренебрегали открытием с повышенными правами доступа:Если файл только для чтения, вам нужно только ввести :w!!, вам будет предложено ввести пароль, а затем файл будет успешно записан.
источник
В то время как
:set noro
делает работу, он не проверяет, открыт ли файл другим экземпляром vim, или обновляет файл при внешнем изменении.Чтобы сделать его редактируемым и проверить наличие файлов подкачки (это файл по умолчанию, открывающий файл с помощью vim), просто используйте команду edit (: help edit):
Обратите внимание, что если с тех пор этим файлом манипулировали (даже вне vim), он обновит изменения в текущем буфере (что я обычно считаю желательным).
источник
Здесь я иду, хотя и немного поздно, может быть, вы уже решили свои сомнения;) Я не видел ни в одном из комментариев, как я знаю с vim , поэтому я добавляю его:
Как только вы редактируете файл, вы нажимаете
:w
или:wq
, и вы видите раздражающее сообщение " E45 'readonly' опция установлена (добавить! Для переопределения) "Вы можете напечатать
w
пишет буфер,!sudo
вызывает оболочку с помощью sudo,tee
перенаправляет выводvim :w
на выход с тройником, и%
текущее имя файлаИ это должно сработать. Обратите внимание, что это предложит перезагрузить файл в vim, для чего вы должны нажать L
источник