É realmente frustrante quando preciso editar um arquivo como root e usá-lo sudo vim somefile.conf
e não consigo usar nenhuma das minhas combinações de teclas, configurações e plugins.
Existe uma maneira de obter todas as minhas personalizações quando preciso editar como root?
Estou usando o vim-plug para meus plugins.
vimrc
plugin-system
Robbie Wxyz
fonte
fonte
sudo vim file
é melhor escrito comosudo -e file
(desde que você defina a variável de ambienteEDITOR=vim
).Respostas:
Em vez de abrir o vim como root, você pode simplesmente salvar como root redirecionando para tee. Aqui está um exemplo:
Isso pode ser útil para alias no seu .vimrc, eu uso
:Sw
:fonte
I did a bunch of editing and then realized I should have used sudoedit
, mas para o caso geral, sugiro usarsudo -e
/sudoedit
.Duas coisas:
Use
$ sudo -e file
para editarfile
com$EDITOR
. Adicioneexport EDITOR=/path/to/vim
se$EDITOR
ainda não estiver definido.Ir baunilha é uma excelente maneira de combater o vício em plugins.
fonte
sudo vim
faz. A edição acontece como seu usuário normal e o sudo lida com a atualização do arquivo original.sudo
:-E
e-e
.-E
significa "ambiente de preservação" e não é esse que você deseja.-e
, por sua vez, significa "não execute um comando, mas edite um arquivo com um procedimento definido".Parece que tudo o que você precisa fazer é enraizar o link simbólico
~/.vimrc
e o~/.vim/
seu.Apenas execute como root:
E isso deveria bastar!
(PS: Eu descobri isso agora e queria compartilhar com outros noobs. Entre em contato se houver uma maneira melhor.)
fonte
Se você souber antecipadamente que precisa editar um arquivo como root, use os comandos
sudoedit <file>
ousudo -e <file>
fará a instalação em um ambiente especial para fazê-lo com suas preferências habituais do editor. É feita uma cópia do arquivo e seu editor é iniciado para editá-lo (como seu usuário). Quando você sai, o arquivo é copiado de volta para o local original como raiz.Essa é a maneira mais segura e recomendada, mas no caso de a) você não perceber com antecedência, precisará escrever como root ou b) desejar editar e salvar alterações incrementais no local, precisará de outra coisa. Para esse fim, a solução
sudo tee
proposta pela smpl está definitivamente no caminho certo, mas existem algumas pequenas melhorias que podem ser feitas para lidar com casos extremos . Notavelmente, a diferença no tratamento do prompt da senha sudo em uma interface GUI vs. interfaces de console merece atenção.Uma maneira mais fácil de configurar isso é usar o plug - in vim-eunuch . Ele tem esse problema específico e algumas outras coisas úteis reunidas em um pacote útil. O uso é tão simples quanto chamar
:SudoWrite
. Eu até uso um mapeamento de acesso um pouco mais prático:Isso deve permitir que você grave um arquivo como root usando
:w!!
.fonte
Outra opção é executar
sudo -E vim somefile.conf
a edição, o que preservará seu ambiente, portanto, seus.vimrc
plugins e serão usados.fonte