vim „modificabil” este oprit (Programare, Vim, Vi, Macvim, Nerdtree)

wesbos a intrebat.

Încercarea de a crea un nou fișier cu nerd tree. Am lovit butonul a pentru a crea un fișier nou și primesc mesajul:

E21: Cannot make changes, 'Modifiable' is off

Folosesc MacVim și Janus (aproape din cutie).

Comentarii

  • fyi: m și apoi a este de a adăuga un nou fișier în NERDTree –  > Por Leighton.
7 răspunsuri
Adam Soltys
:set ma

care este prescurtarea pentru

:set modifiable

va face ca un buffer să fie modificabil. Și

:set noma

face opusul.

Comentarii

  • +1 la acest răspuns. Google afișează această pagină atunci când căutați modul de dezactivare a indicatorului modificabil într-un buffer. –  > Por Sebastián Grignoli.
  • Știe cineva cum pot să fac UNDO ceea ce am șters în NERDTree? ca ‘dd’ și apoi am încercat să ‘u’ și nu se întâmplă nimic – –  > Por betoharres.
  • De asemenea, a trebuit să folosesc :set buftype: " " pentru scrierea fișierului după modificare (ulterior mesajul a fost Cannot write, 'buftype' option is set) –  > Por Julien Carsique.
Xavier T.

Nu sunt familiarizat cu NerdTree, dar bănuiesc că prin tastarea a într-o vizualizare nerdtree, este interpretat ca ” Vreau să adaug ceva în bufferul nerdtree”, iar acel buffer nu este modificabil.

Puteți verifica acel răspuns vim și NERD Tree extension – adăugarea unui fișier care explică cum se adaugă un fișier cu Nerdtree.

Comentarii

  • Asta e tot, verificând ajutorul pentru NERDTree nu există nici un a mapping, ceea ce va face ca acesta să încerce să adauge un text nou. –  > Por sidyll.
mipmip

Acest lucru a funcționat pentru mine:

:set buftype=
:w

Comentarii

  • ce ar trebui să adăugați după = ? –  > Por CodeMonkey.
  • Nimic. Acest lucru înseamnă că atribuiți o valoare goală la buftype –  > Por mipmip.
Dallas Caley

Ok, acest lucru nu poate fi cel mai informat răspuns, deoarece abia am o cunoaștere de lucru de vim sau linux, Dar am găsit o soluție la problema mea și ar putea funcționa pentru tine. Pentru a fi specific, Problema mea a fost de două ori:

1) ori de câte ori încercam să editez ceva în acest nou fișier pe care l-am creat, primeam eroarea Cannot make changes, ‘Modifiable’ is off și…

2) după ce executam :set modifiable și încercam să salvez, primeam o eroare e382 de tipul ‘cannot write, buftype is set. așa că nu puteam salva.

După ce am răsfoit o mulțime de documentație criptică inutilă, mi-am dat seama de asta:

1) găsiți directorul .vimviews, pentru mine era la rădăcina depozitului meu git, faceți un

ls 

în interiorul lui. Am obținut ceva de genul acesta:

~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
~=+www-halo=+test=+lib=+Halo=+Service=+LandmarkTest.php=
~=+www-halo=+test=+lib=+Halo=+Transaction=+AuthnetTest.php=

Ceea ce este total inutil pentru tine, deoarece ai o structură de fișiere diferită. dar caută fișierul care îți dă problema. (oh btw, acestea sunt, de fapt, nume de fișiere, ceea ce nu este deloc evident dacă te uiți la ele). găsește-l pe cel care are fișierul în cauză și șterge-l pe fraierul ăla: exemplu:

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

Problemă rezolvată.

Comentarii

  • Am obținut, de asemenea, această problemă de lucru cu NerdTree. Aceasta a funcționat doar după ce am ieșit din sesiunea vim care a cauzat problema. Presupun că se tot reseta această „vizualizare”. –  > Por John.
Jeremy Fouriaux

Dacă vreți să întâmplați un fișier în NERDTree, trebuie să apăsați „m” (pentru meniu), apoi „a”. Simpla introducere a literei „a” în bufferul NERDTree va fi interpretată ca fiind „modifică bufferul NERDTree”. Adăugarea lui :ma va face ca bufferul NERDTree să poată fi modificat, dar acest lucru nu va crea fișiere noi pentru dumneavoastră, ci va duce la informații inconsistente între ceea ce afișează NERDTree și ierarhia reală a fișierelor.

Max Williams

În cazul în care se întâmplă ca altcineva să caute pe Google, verificați dacă nu încercați să deschideți un director în vim, așa cum tocmai am făcut eu (d’oh)

Comentarii

  • Puteți deschide directoare în Vim. În mod implicit, va lansa Netrw. –  > Por htmldrum.
  • Poți de exemplu să selectezi fișiere dintr-un director, :cw să faci niște modificări la numele lor și să le salvezi –  > Por Karolius.
Jadam

În cazul meu, am ascuns modificări care includeau un director, apoi încercam să creez un fișier în acel dir pe care tocmai îl ascunsesem. NERDTree arăta în continuare arborele preasigurat cu acel dir. Folosind m pe un director care nu există a produs eroarea modificabilă. Ar fi trebuit să reactualizez arborele cu r pentru a vedea că directorul nu mai exista și de ce nu putea fi modificat.