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.