189 votes

vim "modifiable" est désactivé

J'essaie de créer un nouveau fichier avec NERDTree. Je tombe sur le bouton a pour créer un nouveau fichier et j'obtiens le message :

E21: Cannot make changes, 'Modifiable' is off

J'utilise MacVim avec Janus (presque prêt à l'emploi).

5 votes

Fyi : m et ensuite a est d'ajouter un nouveau fichier dans NERDTree

294voto

Adam Soltys Points 896
:set ma

qui est l'abréviation de

:set modifiable

rendra un tampon modifiable. Et

:set noma

fait le contraire.

6 votes

+1 à cette réponse. Google affiche cette page lorsque vous recherchez le moyen de désactiver le drapeau modifiable dans un tampon.

0 votes

Est-ce que quelqu'un sait comment annuler ce que j'ai supprimé dans NERDTree ? Comme 'dd' et ensuite j'ai essayé de 'u' et rien ne se passe.

7 votes

J'ai aussi dû utiliser :set buftype: " " pour l'écriture du fichier après modification (le message suivant était Cannot write, 'buftype' option is set )

22voto

Xavier T. Points 14049

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 au tampon NERDTree", mais ce tampon n'est pas modifiable.

Vous pouvez consulter cette réponse vim et l'extension NERDTree - ajout d'un fichier qui explique comment ajouter un fichier avec NERDTree.

1 votes

C'est tout, en vérifiant l'aide de NERDTree, il n'y a pas d'information sur le sujet. a ce qui l'amènera à essayer d'ajouter un nouveau texte.

8voto

mipmip Points 546

Cela a marché pour moi :

:set buftype=
:w

2voto

Dallas Caley Points 164

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

1) chaque fois que j'ai essayé de modifier quelque chose dans ce nouveau fichier que j'ai créé, j'ai eu l'erreur Cannot make changes, 'Modifiable' is off et...

2) après avoir lancé :set modifiable et essayé de sauvegarder, j'obtenais une erreur e382 'cannot write, buftype is set'. je ne pouvais donc pas sauvegarder.

Après avoir parcouru des tas de documents cryptiques et inutiles, j'ai trouvé ceci :

1) trouver le répertoire .vimviews, pour moi il était à la racine de mon dépôt git, faire un

ls 

à l'intérieur. J'ai obtenu 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 fichiers différente. Mais cherchez le fichier qui vous pose problème. (oh btw, ce sont en fait des noms de fichiers, ce qui n'est pas du tout évident en les regardant). trouvez celui qui contient le fichier en question et supprimez-le : exemple :

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

Problème résolu.

1 votes

J'ai également rencontré ce problème en travaillant avec NerdTree. Cela n'a fonctionné qu'après avoir quitté la session vim qui causait le problème. Je suppose que cela a continué à réinitialiser cette "vue".

0voto

Max Williams Points 10129

Si quelqu'un d'autre tombe sur Google, vérifiez que vous n'êtes pas en train d'essayer d'ouvrir un répertoire dans vim comme je viens de le faire (d'oh).

1 votes

Vous pouvez ouvrir des répertoires dans Vim. Par défaut, il lancera Netrw.

0 votes

Vous pouvez par exemple sélectionner des fichiers dans un répertoire, :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X