8.04.2008

beauty XML con VIM

Estamos trabajando con unos servicios REST que devuelven la respuesta en xml (en realidad atom) y es un verdadero coñazo leer las respuestas que retorna el servidor ya que el XML no está ni formateado, nisiquiera tiene saltos de linea, en resumen todo apelotonado.

Para ello he optado por crear un pequeño script para vim que no es perfecto pero soluciona la papeleta de forma eficiente:

map <F6> :%s/>\s*</>\r</g<CR>ggVG=

EN resumen, busca ocurrencias de ...>(espacios)<... y mete un \r entre ellas. Luego selecciona todo el texto (gg va al comienzo, V pasa a modo "selección lineas" y G lleva el cursor al final seleccionando todo), para al final reformatear con el bestialmente-util comando "=" de vim

Ahora para ver la respuesta del servidor basta con hacer:

wget http://server/v1/resources/ -qO- | vim - y pulsar F6 a continuación

4 comentarios:

Anónimo dijo...

algún día me pondré a aprender bien VIm... este año por el momento, me pillaré la de libre configuración de LaTex, ya veremos lo que enseñan :P

Nacho L dijo...

Lo acabo de probar en el trabajo y la verdad es que es bastante útil. Eso si, yo lo he mapeado a <C-x><C-b>, de momento, que no me gusta mapear en las Fs cosas especificas de un tipo de fichero.

Igual sería más interesante si lo colocas en un au BufReadPost *.xml para que solo afecte a ficheros XML.

Anónimo dijo...

necesitais echaros novia ya

Javi Santana dijo...

si, pero que no use emacs...