Это действительно расстраивает, когда мне нужно отредактировать файл как пользователь root и использовать его, sudo vim somefile.conf
и я не могу использовать какие-либо свои сочетания клавиш, настройки и плагины.
Есть ли способ получить все мои настройки, когда мне нужно редактировать как root?
Я использую vim-plug для своих плагинов.
vimrc
plugin-system
Робби Wxyz
источник
источник
sudo vim file
лучше записать какsudo -e file
(при условии, что вы установили переменную окруженияEDITOR=vim
).Ответы:
Вместо того, чтобы открывать vim как root, вы можете просто сохранить как root, перенаправив на tee. Вот пример:
Это может быть полезно для псевдонима в вашем .vimrc, я использую
:Sw
:источник
I did a bunch of editing and then realized I should have used sudoedit
, но для общего случая я бы предложил использоватьsudo -e
/sudoedit
.Две вещи:
Используйте
$ sudo -e file
для редактированияfile
с$EDITOR
. Добавить,export EDITOR=/path/to/vim
если$EDITOR
еще не установлен.Ваниль - отличный способ побороть зависимость от плагинов.
источник
sudo vim
делает. Редактирование происходит как ваш обычный пользователь, а затем sudo выполняет обновление исходного файла.sudo
:-E
и-e
.-E
означает «среда сохранения», и это не то, что вы хотите.-e
в свою очередь, означает «не запускать команду, а редактировать файл с определенной процедурой».Похоже, все, что вам нужно сделать, это корень символической ссылки
~/.vimrc
и~/.vim/
ваши.Просто запустите с правами root:
И это должно сделать это!
(PS Я понял это только сейчас и хотел поделиться с другими новичками. Пожалуйста, дайте мне знать, если есть лучший способ.)
источник
Если вы заранее знаете, что вам нужно отредактировать файл с правами суперпользователя, используя команды
sudoedit <file>
илиsudo -e <file>
вы настроите его в специальной среде для выполнения ваших обычных настроек редактора. Создается копия файла, и ваш редактор запускается для его редактирования (как ваш пользователь). Когда вы выходите, файл копируется обратно в исходное местоположение как root.Это самый безопасный и рекомендуемый способ, но в случае, если а) вы заранее не понимаете, что вам нужно будет писать от имени пользователя root, или б) хотите редактировать и сохранять на месте инкрементальные изменения, вам понадобится что-то еще. С этой целью решение с использованием
sudo tee
предложенного smpl определенно находится на правильном пути, но есть некоторые незначительные улучшения, которые могут быть сделаны для обработки крайних случаев. В частности, стоит обратить внимание на разницу в обработке приглашения пароля sudo в графическом интерфейсе и на интерфейсах консоли.Более простой способ настроить это - использовать плагин vim-eunuch . У него есть эта конкретная проблема и несколько других полезных вещей, свернутых в удобный пакет. Использование так же просто, как вызов
:SudoWrite
. Я даже использую немного более удобное сопоставление доступа:Это должно дать вам возможность написать любой файл с правами root
:w!!
.источник
Другой вариант - запустить
sudo -E vim somefile.conf
редактирование, которое сохранит вашу среду, следовательно,.vimrc
будут использованы ваши плагины и плагины.источник