vim "modifiable" est désactivé


147

Essayer de créer un nouveau fichier avec l'arborescence nerd. J'ai appuyé sur la atouche 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 hors de la boîte)


2
fyi: mpuis aest d'ajouter un nouveau fichier dans NERDTree
Leighton

Réponses:


233
:set ma

qui est l'abréviation de

:set modifiable

rendra un tampon modifiable. Et

:set noma

fait le contraire.


4
+1 à cette réponse. Google affiche cette page lorsque vous recherchez le moyen de désactiver l'indicateur modifiable dans un tampon.
Sebastián Grignoli

Quelqu'un sait-il comment annuler ce que j'ai supprimé dans NERDTree? comme 'dd' et puis j'ai essayé de 'u' et rien ne se passe
betoharres

6
J'ai également dû l'utiliser :set buftype: " "pour écrire le fichier après modification (après le message était Cannot write, 'buftype' option is set)
Julien Carsique

18

Je ne suis pas familier avec NerdTree mais je suppose qu'en tapant adans 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 l'extension NERD Tree - en ajoutant un fichier qui explique comment ajouter un fichier avec Nerdtree.


10
Doh, c'était m, puis a.
wesbos

1
Voilà, en vérifiant l'aide de NERDTree, il n'y a pas de amappage, ce qui l'amènera à essayer d'ajouter un nouveau texte.
sidyll le

3

Cela a fonctionné pour moi:

:set buftype=
:w

qu'êtes-vous supposé ajouter après le =?
CodeMonkey

Rien. Cela signifie attribuer une valeur vide àbuftype
mipmip

2

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 peut fonctionner pour vous. 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 le message Impossible de faire des modifications, `` Modifiable '' est désactivé et ...

2) après l'exécution: définir modifiable et essayer de sauvegarder, j'obtiendrais une erreur e382 de `` ne peut pas écrire, buftype est défini. donc je n'ai pas pu économiser.

Après avoir versé des tas de documentation cryptique inutile, j'ai compris ceci:

1) trouvez le répertoire .vimviews, pour moi c'était à 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 vous est totalement inutile puisque vous avez une structure de fichiers différente. mais recherchez 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 a le fichier en question et supprimez cette ventouse: exemple:

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

Problème résolu.


1
J'ai également eu ce problème en travaillant avec NerdTree. Cela ne fonctionnait qu'après avoir quitté la session vim à l'origine du problème. Je suppose qu'il a continué à réinitialiser cette "vue".
John

2

Si vous voulez créer un fichier dans NERDTree, vous devez appuyer sur "m" (pour le menu) puis "a". Le simple fait de saisir "a" dans le tampon NERDTree sera interprété comme "modifier le tampon NERDTree". L'ajout de: ma rendra le tampon NERDTree modifiable, mais cela ne créera pas de nouveaux fichiers pour vous, cela conduira à des informations incohérentes entre ce que NERDTree affiche et votre hiérarchie de fichiers réelle.


0

Au cas où quelqu'un d'autre arriverait à faire une recherche sur Google, vérifiez que vous n'essayez pas d'ouvrir un répertoire dans vim comme je viens de le faire (d'oh)


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

Vous pouvez par exemple sélectionner des fichiers dans un répertoire,: cw apporter des modifications à leurs noms et les enregistrer
Karolius

0

Pour moi, j'avais caché des modifications qui incluaient un répertoire que j'essayais alors de créer un fichier dans ce répertoire que je venais de cacher. NERDTree montrait toujours l'arborescence pré-cachée avec ce répertoire. L'utilisation msur un répertoire qui n'existe pas a produit l'erreur modifiable. J'aurais dû rafraîchir l'arborescence avec rpour voir que le répertoire n'était plus là et pourquoi il ne pouvait pas être modifié.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.