Las expresiones regulares en VIM son codiciosas.

Algo como %s#<p class=".*">#<p>#g reemplazaría <p class="hey">lorem</p> <p class="whoa">ipsum</p> por <p>ipsum</p>.

Para que el cuantificador * no sea codicioso, toca remplazarlo por \{-} así: %s#<p class=".\{-}">#<p>#g y el remplazo sería <p>lorem</p> <p>ipsum</p>.

4 thoughts on “Las expresiones regulares en VIM son codiciosas.

  1. Realmente la expresión para reemplazar debería ser así:
    %s#<p class=".\{-}">#<p>#g

    Buen dato ese de utilizar el separador (e.g. #) que uno desee para evitar realizar "escape".

  2. holas como estas mira lo que queria hacer es adentrarme un poco mas sobre las funciones propios de vim creo que se trata de vimscript quiero ahcer mis propios script y necesito la explicacion del arbol del directorio de vim para entender un poco mas talves postearias porfavo gracias..

  3. Hola elvbis, nunca he escrito plugins para vim pero que lo haria en ruby o python y no en vimscript (¿?). La estructura de archivos del directorio .vim se puede salir de control fácilmente cuando uno empieza a instalar varios plugins pero existe este que permite que los otros plugins ocupen un solo sub-directorio: https://github.com/tpope/vim-pathogen
    Te recomiendo que mires mi configuración de vim https://github.com/rvega/dotvim o esta https://github.com/carlhuda/janus.git o la de algún colega tuyo.
    Si vas a usar mi configuración, también necesitas git. Algo asi: http://vimcasts.org/episodes/synchronizing-plugins-with-git-submodules-and-pathogen/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>