Respostas:
:set ma
que é abreviação de
:set modifiable
tornará um buffer modificável. E
:set noma
faz o oposto.
:set buftype: " "
para escrever o arquivo após a modificação (depois mensagem era Cannot write, 'buftype' option is set
)
Não estou familiarizado com o NerdTree, mas acho que, digitando aem uma exibição nerdtree, ele é interpretado como "Quero acrescentar algo no buffer do nerdtree", e esse buffer não é modificável.
Você pode verificar a resposta vim e a extensão NERD Tree - adicionando um arquivo que explica como adicionar um arquivo ao Nerdtree.
a
mapeamento, o que fará com que ele tente anexar novo texto.
Isso funcionou para mim:
:set buftype=
:w
=
?
buftype
Ok, essa pode não ser a resposta mais informada, pois mal tenho conhecimento prático de vim ou linux, mas encontrei uma solução para o meu problema e pode funcionar para você. Para ser específico, meu problema era duplo:
1) sempre que tentei editar algo neste novo arquivo que criei, obtive a opção Não é possível fazer alterações, 'Modificável' está desativado e ...
2) após a execução: conjunto modificável e tentando salvar, eu receberia um erro e382 de 'não é possível gravar, o buftype está definido. então eu não pude salvar.
Depois de derramar um monte de documentação enigmática inútil, descobri isso:
1) encontre o diretório .vimviews, para mim estava na raiz do meu repositório git, faça um
ls
dentro dele. eu tenho algo parecido com isto:
~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
~=+www-halo=+test=+lib=+Halo=+Service=+LandmarkTest.php=
~=+www-halo=+test=+lib=+Halo=+Transaction=+AuthnetTest.php=
O que é totalmente inútil para você, pois você possui uma estrutura de arquivos diferente. mas procure o arquivo que está fornecendo o problema. (oh, aliás, esses são, na verdade, nomes de arquivos, o que não é completamente óbvio olhando para eles). encontre aquele que possui o arquivo em questão e exclua esse otário: exemplo:
rm ~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
Problema resolvido.
Se você deseja que ocorra um arquivo no NERDTree, é necessário pressionar "m" (para o menu) e depois "a". Simplesmente digitar "a" no buffer do NERDTree será interpretado como "modificar o buffer do NERDTree". Adicionar: ma tornará o buffer do NERDTree modificável, mas isso não criará novos arquivos para você, resultará em informações inconsistentes entre o que o NERDTree exibe e sua hierarquia de arquivos real.
Caso alguém ache isso no google, verifique se você não está tentando abrir um diretório no vim como eu estava (d'oh)
Para mim, eu escondi as alterações que incluíam um diretório que eu estava tentando criar um arquivo naquele diretório que eu acabei de esconder. O NERDTree ainda estava mostrando a árvore pré-escondida com esse dir. Usar m
um diretório que não existe produziu o erro modificável. Eu deveria ter atualizado a árvore r
para ver que o dir não estava mais lá e por que não pôde ser modificado.
m
e, em seguida,a
é adicionar um novo arquivo no NERDTree