Não é possível gravar alterações em um arquivo no editor Vim

3

Eu tenho 100 GB de documento xml que estou migrando para um banco de dados em ondas.
Em vim , posso editar o arquivo, mas não consigo salvar as alterações com :wq , :q ou :xx .

Eu recebo a mensagem de erro this file is read only - press ! to override .
Nada funciona, então eu uso o :q! , que ignora minhas alterações e sai do vim .

Como posso salvar minhas alterações?

Pergunta bônus

Se eu não esperar que o arquivo inteiro seja carregado na memória e pressione Ctrl + c para ver o que foi preenchido, salvar esse documento salvará apenas o que foi carregado na memória e excluirá o restante?

    
por Aaron Brandhagen 19.05.2018 / 18:16

1 resposta

2

A mensagem file is read only - press ! to override significa que você não tem permissão para gravar no arquivo que está editando, portanto, as alterações feitas não podem ser gravadas nesse arquivo.

A solução mais fácil é gravar o conteúdo do arquivo editado no outro arquivo com :w file_name , supondo que file_name seja um caminho para um arquivo no qual você tenha permissões para gravar.

Além disso, você precisa descobrir por que não tem permissão para gravar em seu arquivo original.
Você pode fazer isso com ls -l file_name .
(Eu expliquei a saída de ls -l file_name aqui .

Agora que você compreende um pouco mais sobre permissões, você tem três opções:

  1. Use sudo vim file_name para editar o arquivo como o usuário root .

  2. Conceda a outros usuários write permissões com chmod .

  3. Altere o proprietário do arquivo com chown .

por 19.05.2018 / 18:30