Essayer de créer un nouveau fichier avec nerd tree. J'ai appuyé sur la touche a
pour créer un nouveau fichier et je reçois le message:
E21: Cannot make changes, 'Modifiable' is off
J'utilise MacVim et Janus (presque prêt à l'emploi)
:set ma
qui est court pour
:set modifiable
rendra un tampon modifiable. Et
:set noma
fait le contraire.
Je ne connais pas NerdTree, mais je suppose qu’en tapant a dans une vue nerdtree, il est interprété comme "je veux ajouter quelque chose dans le tampon nerdtree", et ce tampon n'est pas modifiable.
Vous pouvez vérifier cette réponse extension de vim et NERD Tree - ajout d’un fichier qui explique comment ajouter un fichier avec Nerdtree.
Si vous voulez créer un fichier dans NERDTree, vous devez cliquer sur "m" (pour le menu), puis sur "a". Entrer simplement "a" dans le tampon NERDTree sera interprété comme "modifier le tampon NERDTree". Ajouter: ma rendra le tampon NERDTree modifiable, mais cela ne créera pas de nouveaux fichiers pour vous, cela entraînera des informations incohérentes entre ce que NERDTree affichera et votre hiérarchie de fichiers réelle.
Ok, ce n’est peut-être pas la réponse la plus éclairée, car j’ai à peine une connaissance pratique de vim ou de linux, mais j’ai trouvé une solution à mon problème et cela fonctionnera peut-être pour vous. Pour être précis, mon problème était double:
1) chaque fois que j’essayais d’éditer quelque chose dans ce nouveau fichier que j’avais créé, j’ai le droit de ne pas pouvoir apporter de modifications, le message 'Modifiable' est désactivé et ...
2) après l'exécution: définir modifiable et essayer de sauvegarder, je voudrais obtenir une erreur e382 de «ne peut pas écrire, buftype est défini. donc je ne pouvais pas sauver.
Après avoir jeté un flot de documents cryptiques inutiles, j'ai compris ceci:
1) trouvez le répertoire .vimviews, pour moi c’est à la racine de mon dépôt git, faites un
ls
à l'intérieur. J'ai quelque chose comme ça:
~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
~=+www-halo=+test=+lib=+Halo=+Service=+LandmarkTest.php=
~=+www-halo=+test=+lib=+Halo=+Transaction=+AuthnetTest.php=
Ce qui est totalement inutile pour vous puisque vous avez une structure de fichier différente. mais cherchez le fichier qui vous donne le problème. (ah btw, ce sont en fait des noms de fichiers, ce qui n’est pas évident en les regardant). trouvez celui qui a le fichier en question et supprimez-le: exemple:
rm ~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
Problème résolu.
Au cas où quelqu'un d'autre voudrait google à cela, vérifiez que vous n'essayez pas d'ouvrir un répertoire dans vim comme je viens de l'être (d'oh)
Cela a fonctionné pour moi:
:set buftype=
:w