Pull to refresh

Comments 46

Да, vim сильная штука, еще бы найти время как следует разобратся в нем )
Vim, конечно, штука сильная, но тут не только vim играет роль.
Вот плин, часто попадался на этом когда правил что нибудь в /etc. Спасибо за совет.
Все методы, которые мне предлагали для решения данной проблемы предпологали открытие нового терминала + манипуляции с правами файла. После мороки с изменением прав, я данный вариант запомню на всю жизнь. :)
Были еще такие варианты:
— пересохранение во временный файл;
— копирование в буфер (если консоль позволяла), закрытие без сохранения изменений, переоткрытие с нужными правами (от нужного пользователя) и вставка из буфера.
=)
Я обычно сохраняю в /tmp а потом муваю в нужно место. Но теперь так точно делать не буду.
Да! Чем больше читаю про vim, тем больше жалею, что раньше на него не обращал внимания и довольствовался другими редакторами. :(
а нафига править файл на запись в который нет прав?
В debian-based системах принято пользоваться sudo. (Возможно, в других тоже, не могу достоверно сказать.) В частности, в ubuntu по умолчанию пароль root'а генерится автоматом, но первый заведённый в системе пользователь, не зная этого пароля, может через sudo выполнить всё. Поэтому иногда возникает такая ситуация, что вместо sudo vim /etc/apt/soureces.list, например, набирается vim /etc/apt/soureces.list. И когда пытаешься сохранить, получаешь ошибку. Вот в таких случаях этот вариант и спасает.
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
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Не совсем удобный скрипт, ибо охватывает часть только на редактирование — но не просмотр.
Смотреть файлы конфигурации с подсветкой синтаксиса (:syn on) в Vim-е довольно удобно.
К less я синтаксис прикрутить не пытался, честно ).

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

Более правильный вариант для работы с alias-ами — это только предупреждение в самом vim-e что файл read-only.
UFO landed and left these words here
Ну не то… я говорю что б к примеру красным цветом внизу самого Вим-А высвечивал что открыт РидОнли файл
Вим и так пишет, если файл ридонли. Если хотите красным цветом, можно попробовать вот так в .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
UFO landed and left these words here
UFO landed and left these words here
Sign up to leave a comment.

Articles