Compreendendo modificável no Vim

3

Durante uma atualização do sistema operacional (Linux), o Vim ou parte dele também foi atualizado.

Agora acontece que, às vezes, quando salvo um arquivo (o arquivo não é salvo), recebo este erro:

E21: Cannot make changes, 'modifiable' is off

Eu fiz :help E21 e o manual diz:

        {not in Vi}     *E21*
When off the buffer contents cannot be changed.  The 'fileformat' and
'fileencoding' options also can't be changed.
Can be reset with the |-M| command line argument.

Não está claro para mim o que isso significa. Eu uso e inicio o editor da maneira usual, nada é alterado. O fluxo de trabalho é o mesmo também. Eu abro janelas diferentes com CTLR-W N , então carrego e edito arquivos lá e alterno entre janelas, etc.

Gostaria de saber como desativar esse comportamento e os efeitos colaterais.

    
por Paolo 10.06.2012 / 22:49

2 respostas

5

Você pode usar :verbose set modifiable? para descobrir se um plug-in está configurando a opção. Se a opção foi modificada por um plugin, ela mostrará Last set from /path/to/plugin/file (além de mostrar o valor).

Talvez você esteja usando o plug-in Netrw. Ele vem junto com o Vim e trata de “editar” diretórios locais (listando o conteúdo, escolhendo arquivos para visualizar / editar) e acesso remoto a arquivos / diretórios. Eu sei que gira entre modifiable (e algumas outras opções). Pode haver um bug na versão que acompanha seu Vim atualizado. Você pode verificar o número da versão da instalação ativa do Netrw com :echo g:loaded_netrwPlugin .

Se o problema parece estar relacionado ao Netrw, você pode tentar instalar outra versão lançada ou talvez uma versão de desenvolvimento .

    
por 11.06.2012 / 05:16
4

Isso acontece quando você abre um arquivo que é somente leitura. Verifique as permissões do arquivo: parece que seu usuário não tem permissão de gravação no arquivo. Ou talvez o sistema de arquivos seja montado somente para leitura (verifique com df /path/to/file para ver em qual sistema de arquivos o arquivo está e use mount ou cat /proc/mounts para ver as opções de montagem).

Uma possibilidade diferente seria um plugin de decodificação com bugs, mas eu esperaria outras mensagens de erro.

    
por 11.06.2012 / 02:38

Tags