Respuestas:
:set ma
que es la abreviatura de
:set modifiable
hará que un búfer sea modificable. Y
:set noma
hace lo contrario
:set buftype: " "
para escribir el archivo después de la modificación (luego el mensaje fue Cannot write, 'buftype' option is set
)
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.
a
mapeo, lo que hará que intente agregar texto nuevo.
Esto funcionó para mí:
:set buftype=
:w
=
?
buftype
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.
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.
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)
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 m
en un directorio que no existe produjo el error modificable. Debería haber actualizado el árbol r
para ver que el directorio ya no estaba allí y por qué no podía modificarse.
m
y luegoa
es agregar un nuevo archivo en NERDTree