vim "modificable" está desactivado


147

Intentando crear un nuevo archivo con el árbol nerd. Presioné la atecla para crear un nuevo archivo y recibí el mensaje:

E21: Cannot make changes, 'Modifiable' is off

Estoy usando MacVim y Janus (casi listos para usar)


2
FYI: my luego aes agregar un nuevo archivo en NERDTree
Leighton

Respuestas:


233
:set ma

que es la abreviatura de

:set modifiable

hará que un búfer sea modificable. Y

:set noma

hace lo contrario


44
+1 a esta respuesta. Google muestra esta página cuando busca la forma de desactivar el indicador modificable en un búfer.
Sebastián Grignoli

¿Alguien sabe cómo deshago lo que eliminé en NERDTree? como 'dd' y luego traté de 'u' y no pasa nada
betoharres

66
También tuve que usar :set buftype: " "para escribir el archivo después de la modificación (luego el mensaje fue Cannot write, 'buftype' option is set)
Julien Carsique

18

No estoy familiarizado con NerdTree, pero supongo que al escribir aen una vista de nerdtree, se interpreta como "Quiero agregar algo en el búfer de nerdtree", y ese búfer no es modificable.

Puede verificar esa respuesta vim y la extensión NERD Tree, agregando un archivo que explica cómo agregar un archivo con Nerdtree.


10
Doh, fue m, luego a.
wesbos

1
Eso es todo, verificando la ayuda para NERDTree no hay amapeo, lo que hará que intente agregar texto nuevo.
sidyll

3

Esto funcionó para mí:

:set buftype=
:w

¿Qué se supone que debes agregar después del =?
CodeMonkey

Nada. Esto significa asignar un valor vacío abuftype
mipmip

2

Ok, esta puede no ser la respuesta más informada ya que apenas tengo un conocimiento práctico de vim o linux, pero he encontrado una solución a mi problema y puede funcionar para usted. Para ser específicos, mi problema era doble:

1) cada vez que intenté editar algo en este nuevo archivo que creé, recibí el mensaje No se pueden realizar cambios, 'Modificable' está desactivado y ...

2) después de ejecutar: establecer modificable e intentar guardar, obtendría un error e382 de 'no se puede escribir, buftype está configurado. Así que no pude guardar.

Después de verter montones de documentación críptica inútil, descubrí esto:

1) encuentre el directorio .vimviews, para mí estaba en la raíz de mi repositorio git, haga un

ls 

dentro de eso. Tengo algo como esto:

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

Lo cual es totalmente inútil para usted ya que tiene una estructura de archivo diferente. pero busca el archivo que te está causando el problema. (oh, por cierto, estos son, de hecho, nombres de archivos, lo cual no es completamente obvio al mirarlos). encuentre el que tiene el archivo en cuestión y elimine ese imbécil: ejemplo:

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

Problema resuelto.


1
También tengo este problema al trabajar con NerdTree. Esto solo funcionó después de salir de la sesión vim que causó el problema. Supongo que siguió restableciendo esta "vista".
John

2

Si desea pasar un archivo en NERDTree, debe presionar "m" (para el menú) y luego "a". Simplemente ingresando "a" en el búfer NERDTree se interpretará como "modificar el búfer NERDTree". Agregando: ma hará que el búfer de NERDTree sea modificable, pero esto no creará nuevos archivos para usted, dará lugar a información inconsistente entre lo que muestra NERDTree y su jerarquía de archivos real.


0

En caso de que alguien más le busque en Google esto, verifique que no esté tratando de abrir un directorio en vim como yo era (d'oh)


1
Puede abrir directorios en Vim. Por defecto, iniciará Netrw.
htmldrum

Por ejemplo, puede seleccionar archivos en un directorio: cw hacer algunos cambios en sus nombres y guardarlos
Karolius

0

Para mí, había ocultado cambios que incluían un directorio en el que estaba tratando de crear un archivo en ese directorio que acababa de almacenar. NERDTree seguía mostrando el árbol preconfigurado con ese directorio. El uso men un directorio que no existe produjo el error modificable. Debería haber actualizado el árbol rpara ver que el directorio ya no estaba allí y por qué no podía modificarse.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.