Как стать автором
Обновить

Комментарии 46

Эх, знал бы я раньше
Да, vim сильная штука, еще бы найти время как следует разобратся в нем )
Vim, конечно, штука сильная, но тут не только vim играет роль.
Вот плин, часто попадался на этом когда правил что нибудь в /etc. Спасибо за совет.
Все методы, которые мне предлагали для решения данной проблемы предпологали открытие нового терминала + манипуляции с правами файла. После мороки с изменением прав, я данный вариант запомню на всю жизнь. :)
Были еще такие варианты:
— пересохранение во временный файл;
— копирование в буфер (если консоль позволяла), закрытие без сохранения изменений, переоткрытие с нужными правами (от нужного пользователя) и вставка из буфера.
=)
Я обычно сохраняю в /tmp а потом муваю в нужно место. Но теперь так точно делать не буду.
Да! Чем больше читаю про vim, тем больше жалею, что раньше на него не обращал внимания и довольствовался другими редакторами. :(
а нафига править файл на запись в который нет прав?
В debian-based системах принято пользоваться sudo. (Возможно, в других тоже, не могу достоверно сказать.) В частности, в ubuntu по умолчанию пароль root'а генерится автоматом, но первый заведённый в системе пользователь, не зная этого пароля, может через sudo выполнить всё. Поэтому иногда возникает такая ситуация, что вместо sudo vim /etc/apt/soureces.list, например, набирается vim /etc/apt/soureces.list. И когда пытаешься сохранить, получаешь ошибку. Вот в таких случаях этот вариант и спасает.
alias vim='sudo vim'
sic!
:)
Vim используется не только для правки конфигурационных файлов и административных скриптов, но многими также и при программировании. Я хочу сказать, что чаще он все же должен работать от обычного пользователя. ;)
ну это была шутка :)
Все верно, но если быть до конца точным, то в том же ubuntu учетная запись root «из коробки» имеет не просто случайный пароль но в добавок и заблокирована (а-ля passwd -l). :)
А смена пароля автоматом деблокирует запись?
Да, потому как механизм блокировки проще говоря заключается в модификации парольного хэша.
Не знал. Спасибо!
Она вообще пароля не имеет. А под юзерами с пустыми паролями, как известно, логиниться нельзя.

sudo passwd
И да, и нет. :) Пароля нет, но учетная запись блокирована.

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 проверял, остальные хз).
Не все работают под рутом.
Работа от имени обычного пользователя и выполнение административных действий с использованием sudo — распространенная практика, которая становится только шире. Помимо этого, вход пользователя root по SSH как правило блокируется.
Поясните пожалуйста что происходит при выполнении этой команды.
Понял. Команда делает cat file_content | sudo tee file_name
А можно как-то укоротить запись? Алиасик повесить, чтобы было, например, :sw или как-то так (sudo write)?
:help 40.2 — Defining command-line commands
спасибо, при моем уровне познания vim это прорыв :) а бывало внесешь туеву кучу изменений в конфиг…
Могу посоветовать объявить такую команду в своём .vimrc:

command! -nargs=0 -bang WSudo :silent! w !sudo tee % &>/dev/null

заодно здесь есть небольшое усовершенствование — содержимое сохраняемого файла не выводится на экран (ибо нафига)
вместо
!sudo tee % &>/dev/null
лучше
!sudo cat > %
Мда, спасибо, я раньше делал просто:
<hr />
!sudo chmod o+w file
:w
:!sudo chmod o-w file
НЛО прилетело и опубликовало эту надпись здесь
Спасибо, реально помогло.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Не совсем удобный скрипт, ибо охватывает часть только на редактирование — но не просмотр.
Смотреть файлы конфигурации с подсветкой синтаксиса (:syn on) в Vim-е довольно удобно.
К less я синтаксис прикрутить не пытался, честно ).

По этому заметка автора более предпочтительная.

Более правильный вариант для работы с alias-ами — это только предупреждение в самом vim-e что файл read-only.
НЛО прилетело и опубликовало эту надпись здесь
Ну не то… я говорю что б к примеру красным цветом внизу самого Вим-А высвечивал что открыт РидОнли файл
Вим и так пишет, если файл ридонли. Если хотите красным цветом, можно попробовать вот так в .vimrc:
au BufReadPost *  
  \ if &readonly |
  \   echohl ErrorMsg |
  \   echomsg "File is read-only!" |
  \ endif
Правильнее вот так, забыл хайлайт сбросить:
au BufReadPost *  
  \ if &readonly |
  \   echohl ErrorMsg |
  \   echomsg "File is read-only!" |
  \   echohl None |
  \ endif
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
view
и жить стало легче! благодарен
Ещё множество очень полезных команд можно найти на commandlinefu
в gvim не дает пароль ввести
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации