vim "modifiable" est désactivé

essayer de créer un nouveau fichier avec nerd tree. J'ai appuyé sur la touche a pour créer un nouveau fichier et j'ai eu le message:

E21: Cannot make changes, 'Modifiable' is off

je suis en utilisant MacVim et Janus (près de la sortie de la boîte)

112
demandé sur Xavier T. 2011-04-21 18:30:49

5 réponses

:set ma

qui est l'abréviation de

:set modifiable

va rendre un tampon modifiable. Et

:set noma

fait le contraire.

184
répondu Adam Soltys 2017-05-17 20:01:59

Je ne suis pas familier avec 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 vim et NERD Tree extension - ajout d'un fichier qui explique comment ajouter un fichier avec Nerdtree.

12
répondu Xavier T. 2017-05-23 11:47:28

Ok, ce n'est peut-être pas la réponse la plus informée car j'ai à peine une connaissance pratique de vim ou linux, mais j'ai trouvé une solution à mon problème et il peut fonctionner pour vous. Pour être précis, mon problème était double:

1) chaque fois que j'ai essayé d'éditer quelque chose dans ce nouveau fichier que j'ai créé, j'ai obtenu le ne peut pas faire de changements, 'Modifiable' est hors erreur et...

2) Après avoir lancé: set modifiable et en essayant de sauvegarder, j'obtiens une erreur e382 de "ne peut pas écrire, buftype est réglé. donc je ne pouvais pas enregistrer.

après avoir versé des tas de documents cryptiques inutiles, j'ai compris ceci:

1) trouver le .vimviews directory, pour moi il était à la racine de mon dépôt git, faire 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=

qui est totalement inutile pour vous puisque vous avez une structure de fichier différente. mais cherchez le fichier qui est de vous donner le problème. (oh btw, ce sont en fait des noms de fichiers, ce qui n'est pas évident en les regardant). trouver celui qui a le fichier en question et supprimer meunier: exemple:

rm ~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=

Problème résolu.

1
répondu Dallas Caley 2012-10-08 23:52:30

si vous voulez faire apparaître un fichier dans NERDTree, vous devez cliquer sur" m "(pour le menu) puis sur"a". En entrant simplement " a "dans le tampon NERDTree, vous obtiendrez l'interprétation suivante:"modifier le tampon NERDTree". Ajouter: ma va rendre la mémoire tampon de NERDTree modifiable, mais cela ne créera pas de nouveaux fichiers pour vous, cela conduira à des informations incohérentes entre ce que L'affichage de NERDTree et votre hiérarchie de fichiers réelle.

1
répondu Jeremy Fouriaux 2018-03-07 08:37:22

dans le cas où quelqu'un d'autre arrive à google à ceci, vérifiez que vous n'essayez pas d'ouvrir un répertoire dans vim comme je l'étais (d'oh)

0
répondu Max Williams 2012-11-29 20:10:27