Como posso sair do modo somente leitura no Vim?

34

Eu abri um arquivo no modo readonly; Existe uma maneira de sair do modo somente leitura?

    
por wrongusername 04.04.2013 / 05:36

4 respostas

38

Você pode fazer isso:

:set noro

Isso anula o sinalizador somente leitura, mas se o arquivo subjacente ainda não puder ser escrito por você, então o vim ainda não poderá gravar nele.

    
por 10.04.2013 / 14:21
8

Você pode executar chmod de dentro do vim:

:!chmod +w %

! significa executar um comando shell e % é o nome do arquivo atual. Você também pode apenas forçar a gravação do arquivo:

:w!
    
por 04.04.2013 / 06:21
3

Além da resposta de Michael Mrozek , você pode adicionar uma linha ao seu .vimrc que permite que você gravar em um arquivo que você esqueceu de abrir com permissões elevadas:

" Allows writing to files with root priviledges
cmap w!! w !sudo tee % > /dev/null

Se o arquivo é somente leitura, você tem que entrar : w ! ! , você irá ser solicitada a sua senha e, em seguida, o arquivo será gravado com sucesso.

    
por 04.04.2013 / 08:32
1

Enquanto :set noro faz o trabalho, ele não verifica se o arquivo é aberto por outra instância vim ou atualiza o arquivo se alterado externamente.

Para torná-lo editável e verificar se há arquivos de troca (que é o padrão para abrir um arquivo com o vim), basta usar o comando edit (: help editing):

:e

Note, se o arquivo foi manipulado desde então (mesmo fora do vim), ele irá atualizar as mudanças no buffer atual (que eu acho normalmente desejável).

    
por 12.11.2017 / 12:04

Tags