Pregunta:
Edito bastantes archivos BibTeX y con regularidad olvido las comas finales:
Por ejemplo:
@Book{cooke2015british,
author = {Cooke, Lez},
title = {British Television Drama},
publisher = {Palgrave on behalf of the British Film Institute},
year = {2015},
keywords = {about}
address = {London},
isbn = {978-1844576234}
}
Verá que olvidé agregar la coma después de las keywords = {about}
, lo que significa que tengo que dedicar tiempo a depurar. ¿Hay alguna forma en que Vim pueda hacerme recordar? Por cierto, tengo el complemento bib_autocomp.vim …
Respuesta:
Solución rápida y sucia:
:match Error /^\s\+.*,\@<!\ze\n\s\+\w/
También puede crear una sintaxis especial para archivos BibTeX usando el mismo patrón.
Algunas explicaciones sobre la expresión regular utilizada:
-
^\s\+
busca palabras clave con sangría. -
\ze
detiene la coincidencia de patrones de modo que no se marca la siguiente línea. -
,\@<!\n
busca líneas que no terminen con coma. -
\n\s\+\w
garantiza que hay una nueva entrada después de la que se está escaneando actualmente.
Se puede usar el mismo patrón para saltar entre líneas erróneas usando vimgrep
siguiente manera:
:vimgrep /^\s\+.*,\@<!\ze\n\s\+\w/ %
Si la ventana de corrección rápida no se abre automáticamente, se puede abrir usando :copen
. Y :cnext
y :cprevious
se pueden usar para saltar entre errores.