Ya he buscado mucho esto y cada respuesta es sobre Vim en Linux. ¿Hay alguna manera de guardar un archivo de solo lectura directamente desde Vim en Windows?
microsoft-windows
save
Durga Swaroop
fuente
fuente

:w!no funciona. Dice que no se puede abrir el archivo para leer. Aunque puedo hacer exactamente lo mismo fuera de vim.gvimcomoRun as Administrator? Quizás resolvería su propósito ... o de lo contrario podría ser posible que otra aplicación bloquee el archivo ...run as administratorcompletar su subproceso que involucra tareas administrativas que hacer ... Eche un vistazo a windows.microsoft.com/en-in/windows/… .... de lo contrario, desactive laUACconfiguración ... .:w!no vuela y debe ejecutar gVim como administrador o Vim en un símbolo del sistema que se ejecutó como administrador.Puedes usar mi plugin SudoEdit .
fuente
Hay otra posibilidad que no se ha abordado en las otras respuestas: vim se negará a guardar un archivo si está abierto y bloqueado por otra aplicación de Windows. Muchas aplicaciones comunes de Windows (Office, por ejemplo) bloquean los archivos que abren. Si este es el problema, no hay problemas con los permisos o: w! Te ayudará. Simplemente necesita cerrar el archivo en la otra aplicación, y luego podrá guardarlo desde vim. Es lamentable que vim no indique claramente esta situación al usuario.
fuente
Para win7: Inicio> Ejecutar> Cmd (como administrador), y ejecute estos comandos para que el árbol de directorios pueda ser escrito por el administrador:
fuente
Ejecute gVim como administrador, por ejemplo, haciendo clic con el botón derecho o usando el atajo de teclado Shift+ F10en el atajo de gVim en el menú Inicio y seleccionando Ejecutar como administrador .
Abra el archivo que desea editar y guarde los cambios con
:wnormalidad.fuente
Uso gvim para editar
C:\Windows\System32\drivers\etc\hostsdespués de configurar sus permisos en "control total", el truco consistía en configurar "heredar permisos" en "no" primero. Luego comenzó a funcionar sin el "!". También había corridoattribpero eso no fue efectivo.fuente
:sudoeditfunciona en windows? Lo siento, no puedo verificarlo.Escriba
:f "newfilename"en modo de comando y luego al salir:wpara guardar con el nuevo nombre de archivo.fuente