vim "modificabile" è disattivato


147

Prova di creare un nuovo file con l'albero dei nerd. Ho premuto il atasto per creare un nuovo file e ho ricevuto il messaggio:

E21: Cannot make changes, 'Modifiable' is off

Sto usando MacVim e Janus (quasi fuori dalla scatola)


2
amico: me quindi aè quello di aggiungere un nuovo file in NERDTree
— Leighton

Risposte:


233
:set ma

che è l'abbreviazione di

:set modifiable

renderà modificabile un buffer. E

:set noma

fa il contrario.


4
+1 a questa risposta. Google mostra questa pagina quando cerchi il modo di disattivare il flag modificabile in un buffer.
— Sebastián Grignoli,

Qualcuno sa come posso annullare ciò che ho eliminato in NERDTree? come 'dd' e poi ho provato a 'u' e non succede nulla
— betoharres il

6
Ho anche dovuto usare :set buftype: " "per scrivere il file dopo la modifica (dopo il messaggio era Cannot write, 'buftype' option is set)
— Julien Carsique,

18

Non ho familiarità con NerdTree ma immagino che digitando ain una vista nerdtree, viene interpretato come "Voglio aggiungere qualcosa nel buffer nerdtree" e quel buffer non è modificabile.

Puoi controllare la risposta vim e l'estensione NERD Tree - aggiungendo un file che spiega come aggiungere un file con Nerdtree.


10
Doh, era m, poi a.
— mercoledì

1
Ecco fatto, controllando la guida di NERDTree non è presente alcuna amappatura, che provocherà l'aggiunta di un nuovo testo.
— Sididll

3

Questo ha funzionato per me:

:set buftype=
:w

cosa pensi di aggiungere dopo il =?
— CodeMonkey

Niente. Questo significa assegnare un valore vuoto abuftype
— mipmip

2

Ok, questa potrebbe non essere la risposta più informata poiché ho a malapena una conoscenza pratica di vim o linux, ma ho trovato la soluzione al mio problema e potrebbe funzionare per te. Per essere precisi, il mio problema era duplice:

1) Ogni volta che ho provato a modificare qualcosa in questo nuovo file che ho creato, ho ottenuto Impossibile eseguire modifiche, "Modificabile" è spento errore e ...

2) dopo l'esecuzione: impostare modificabile e provare a salvare, otterrei un errore e382 di 'impossibile scrivere, il tipo di buf è impostato. quindi non ho potuto salvare.

Dopo aver riversato molti inutili documenti criptici inutili, ho capito questo:

1) trova la directory .vimviews, per me era alla radice del mio repository git, fai un

ls 

dentro. ho qualcosa del genere:

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

Che è totalmente inutile per te poiché hai una struttura di file diversa. ma cerca il file che ti sta causando il problema. (oh a proposito, questi sono in realtà nomi di file, il che non è del tutto ovvio osservandoli). trova quello che ha il file in questione ed elimina quella ventosa: esempio:

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

Problema risolto.


1
Ho anche avuto questo problema lavorando con NerdTree. Questo ha funzionato solo dopo essere usciti dalla sessione di vim che ha causato il problema. Immagino che continuasse a ripristinare questa "vista".
— Giovanni

2

Se vuoi creare un file in NERDTree, devi premere "m" (per menu) quindi "a". Inserire semplicemente "a" nel buffer NERDTree verrà interpretato come "modifica del buffer NERDTree". Aggiungendo: ma renderà modificabile il buffer NERDTree, ma questo non creerà nuovi file per te, porterà a informazioni incoerenti tra ciò che NERDTree visualizza e la tua attuale gerarchia di file.


0

Nel caso in cui qualcun altro accada a Google, controlla che non stai provando ad aprire una directory in VIM come se fossi (d'oh)


1
Puoi aprire le directory in Vim. Di default lancerà Netrw.
— htmldrum,

Ad esempio è possibile selezionare i file in una directory: cw apportare alcune modifiche ai loro nomi e salvarli
— Karolius

0

Per me, avevo nascosto le modifiche che includevano una directory che stavo cercando di creare un file in quella directory che avevo appena nascosto. NERDTree mostrava ancora l'albero pre-nascosto con quella directory. L'uso di muna directory che non esiste ha prodotto l'errore modificabile. Avrei dovuto aggiornare l'albero rper vedere che il dir non c'era più e perché non poteva essere modificato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.