vim autocmd

Evita guardar archivos con ciertos nombres en Vim



autocmd (1)

Una solución simple pero efectiva sería definir un comando automático que coincida con nombres de archivos potencialmente mal escritos, que emita una advertencia y finalice el guardado.

:autocmd BufWritePre [:;]* throw ''Forbidden file name: '' . expand(''<afile>'')

Tenga en cuenta que el comando :throw es necesario para que Vim deje de escribir el contenido de un búfer.

Para evitar obtener el error E605 debido a una excepción no E605 , se puede emitir un error utilizando el comando :echoerr ejecuta en el bloque try . ( :echoerr su mensaje de error como una excepción cuando se llama desde dentro de una construcción try . Vea :help :echoerr .)

:autocmd BufWritePre [:;]* / try | echoerr ''Forbidden file name: '' . expand(''<afile>'') | endtry

Si alguna vez es necesario guardar un archivo con un nombre que coincida con el patrón utilizado en el comando automático anterior, se puede anteponer un comando de escritura con :noautocmd o configurar la opción eventignore consecuencia (consulte :help :noautocmd y :help eventignore para obtener más información) detalles), por ejemplo

:noa w :ok.txt

Escribo muy rápido y me doy cuenta de que a veces guardo un archivo accidentalmente con el nombre de ; o : ( :wq y algunas veces se introduce un error tipográfico).

¿Hay alguna forma de escribir una macro que rechace guardar archivos que coincidan con ciertos nombres?