Комментарии 46
Эх, знал бы я раньше
Да, vim сильная штука, еще бы найти время как следует разобратся в нем )
Вот плин, часто попадался на этом когда правил что нибудь в /etc. Спасибо за совет.
Все методы, которые мне предлагали для решения данной проблемы предпологали открытие нового терминала + манипуляции с правами файла. После мороки с изменением прав, я данный вариант запомню на всю жизнь. :)
Были еще такие варианты:
— пересохранение во временный файл;
— копирование в буфер (если консоль позволяла), закрытие без сохранения изменений, переоткрытие с нужными правами (от нужного пользователя) и вставка из буфера.
=)
— пересохранение во временный файл;
— копирование в буфер (если консоль позволяла), закрытие без сохранения изменений, переоткрытие с нужными правами (от нужного пользователя) и вставка из буфера.
=)
Да! Чем больше читаю про vim, тем больше жалею, что раньше на него не обращал внимания и довольствовался другими редакторами. :(
а нафига править файл на запись в который нет прав?
В debian-based системах принято пользоваться sudo. (Возможно, в других тоже, не могу достоверно сказать.) В частности, в ubuntu по умолчанию пароль root'а генерится автоматом, но первый заведённый в системе пользователь, не зная этого пароля, может через sudo выполнить всё. Поэтому иногда возникает такая ситуация, что вместо sudo vim /etc/apt/soureces.list, например, набирается vim /etc/apt/soureces.list. И когда пытаешься сохранить, получаешь ошибку. Вот в таких случаях этот вариант и спасает.
alias vim='sudo vim'
sic!
:)
sic!
:)
Все верно, но если быть до конца точным, то в том же ubuntu учетная запись root «из коробки» имеет не просто случайный пароль но в добавок и заблокирована (а-ля passwd -l). :)
А смена пароля автоматом деблокирует запись?
Она вообще пароля не имеет. А под юзерами с пустыми паролями, как известно, логиниться нельзя.
sudo passwd
sudo passwd
И да, и нет. :) Пароля нет, но учетная запись блокирована.
man passwd:
cat /etc/shadow | grep root
man passwd:
-l, --lock
Lock the password of the named account. This option disables a
password by changing it to a value which matches no possible
encrypted value (it adds a ´!´ at the beginning of the password).
cat /etc/shadow | grep root
root:!:14402:0:99999:7:::
почему нельзя? все зависит от того как законфигурить. по дефолту обычно локальный логин с пустым паролем не запрещен (rhel4 и gentoo проверял, остальные хз).
Не все работают под рутом.
Поясните пожалуйста что происходит при выполнении этой команды.
А можно как-то укоротить запись? Алиасик повесить, чтобы было, например, :sw или как-то так (sudo write)?
спасибо, при моем уровне познания vim это прорыв :) а бывало внесешь туеву кучу изменений в конфиг…
Могу посоветовать объявить такую команду в своём .vimrc:
заодно здесь есть небольшое усовершенствование — содержимое сохраняемого файла не выводится на экран (ибо нафига)
command! -nargs=0 -bang WSudo :silent! w !sudo tee % &>/dev/null
заодно здесь есть небольшое усовершенствование — содержимое сохраняемого файла не выводится на экран (ибо нафига)
Мда, спасибо, я раньше делал просто:
<hr />
<hr />
!sudo chmod o+w file
:w
:!sudo chmod o-w file
Спасибо, реально помогло.
Не совсем удобный скрипт, ибо охватывает часть только на редактирование — но не просмотр.
Смотреть файлы конфигурации с подсветкой синтаксиса (:syn on) в Vim-е довольно удобно.
К less я синтаксис прикрутить не пытался, честно ).
По этому заметка автора более предпочтительная.
Более правильный вариант для работы с alias-ами — это только предупреждение в самом vim-e что файл read-only.
Смотреть файлы конфигурации с подсветкой синтаксиса (:syn on) в Vim-е довольно удобно.
К less я синтаксис прикрутить не пытался, честно ).
По этому заметка автора более предпочтительная.
Более правильный вариант для работы с alias-ами — это только предупреждение в самом vim-e что файл read-only.
Ну не то… я говорю что б к примеру красным цветом внизу самого Вим-А высвечивал что открыт РидОнли файл
Вим и так пишет, если файл ридонли. Если хотите красным цветом, можно попробовать вот так в .vimrc:
au BufReadPost * \ if &readonly | \ echohl ErrorMsg | \ echomsg "File is read-only!" | \ endif
view
и жить стало легче! благодарен
Ещё множество очень полезных команд можно найти на commandlinefu
в gvim не дает пароль ввести
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Выполняем sudo при записи