2011-11-01 26 views
7

Dentro de Vim para agrupar algunas secuencias de caracteres, se requiere el uso de \ (\). El mismo comportamiento es para otras especiales: \ {\}.¿Es posible cambiar el dialecto regexp vim?

¿Es posible cambiar el estilo regex para que sea como en perl? Cómo cambiarlo?

lugar

\\(

lo haría

(

???

Respuesta

11

Puede cambiar el valor predeterminado Necesario 'nivel de magia'

:se nomagic 
:se magic 

Ver :he magic

me gustaría recomendar el uso de los escapes correspondientes en vez de evitar la ruptura de sus otras asignaciones.

/\v(\d+) 

coincidirá dígitos consecutivos como cabría esperar con Perl expresiones regulares

De pattern.txt ayuda:

Examples: 
after: \v  \m  \M  \V   matches ~ 
       'magic' 'nomagic' 
      $  $  $  \$   matches end-of-line 
      .  .  \.  \.   matches any character 
      *  *  \*  \*   any number of the previous atom 
     ()  \(\)  \(\)  \(\)  grouping into an atom 
      |  \|  \|  \|   separating alternatives 
      \a  \a  \a  \a   alphabetic character 
      \\  \\  \\  \\   literal backslash 
      \.  \.  .  .   literal dot 
      \{  {  {  {   literal '{' 
      a  a  a  a   literal 'a' 

{only Vim supports \m, \M, \v and \V} 

It is recommended to always keep the 'magic' option at the default setting, 
which is 'magic'. This avoids portability problems. To make a pattern immune 
to the 'magic' option being set or not, put "\m" or "\M" at the start of the 
pattern. 
+0

siento @Johnsyweb, ediciones simultáneas :) gracias por la ayuda! – sehe

Cuestiones relacionadas