Estou tentando usar :wq
para salvar um arquivo de texto que editei no Vim, mas quando entro :wq
recebo o erro
E45: 'readonly' option is set (add ! to override)`
Quando adiciono !
ao :wq
gosto :wq!
, recebo o seguinte:
"/etc/dhcp/dhcpd.conf"
"/etc/dhcp/dhcpd.conf" E212: Can't open file for writing
O arquivo que quero editar está dhcpd
no /etc/dhcpd
caminho.
Como posso fazer isso?
:x
ouZZ
para sair e salvar. Ele escreverá apenas em alterações.Respostas:
Você precisa abrir o arquivo usando permissões de superusuário, da seguinte maneira:
edite o arquivo pressionando ie, em seguida, salve e saia pressionando Esce depois ou
:wq
ou:x
ou apenas:w
para salvar.Agradecemos a Riking por sugerir
sudoedit
: você pode usarsudoedit /path/to/file/filename
para editar arquivos pertencentes à raiz, em vez de usarsudo <editor> /pat/to/file/filename
. Isso é útil para máquinas de nível corporativo ou máquinas de produção, desde que o sudoedit faça logon/var/log/auth.log
.Se você deseja alterar o editor padrão para sudoedit, faça o seguinte:
pressione Returne escolha o editor de sua escolha e pressione novamente Return.
Veja também: Uma discussão sobre redit sobre por que o sudoedit pode ser vantajoso
fonte
sudoedit
para essas situações - ele cria uma cópia temporária, executa o editor e copia o resultado. Se você escolheu anteriormentenano
para esse comando, executeEDITOR=vi sudoedit /etc/file
.sudoedit
, nem sabia que existia. No entanto, deparei com isso enquanto pesquisavasudoedit
. Vou sugerir, mas deixe para o usuário se achar necessário.sudoedit
também pega naEDITOR
variável, é mais fácil de conjunto que do que as alternativas do configure/etc
consiste em todos os arquivos de configuração. Para editar os arquivos,/etc
você precisa das permissões de superusuário, mas às vezes esquecemos de usá-losudo
. mas nesse momento também podemos usardepois digite sua senha de administrador
sair com sucesso
fonte
cmap w!! w !sudo tee > /dev/null %
ao seu.vimrc
para permitir salvar através deste método com:w!!
. Se você estiver interessado em saber por que esse método funciona, veja stackoverflow.com/questions/2600783/…