Para unir una palabra, se puede usar
\v(\w+)
De la ayuda vim :h \w
:
\ w carácter de palabra: [0-9A-Za-z_]
Esto funciona exactamente como se describe en el manual. Sin embargo, quiero hacer coincidir las palabras que contienen caracteres más allá a-z
, por ejemplo,
prästgården . Hacer coincidir la expresión regular \v(\w+)
con
prästgården produce tres coincidencias:
prästgården
^^ ^^^ ^^^^
¿Cómo unir palabras que contienen caracteres más allá a-z
? Mi configuración regional está configurada en inglés y, si es posible, me gustaría mantenerla así.
Editar: las palabras pueden no pertenecer a una sola configuración regional, por ejemplo
prästgården
treść
\p{Word}
lugar de una clase de caracteres POSIX. Hay muchos casos de excepción en el manejo de la clase de caracteres POSIX de Perl, que evita cuando utiliza las propiedades Unicode.
[[:alpha:]]\+
Se supone que las clases de caracteres POSIX (por ejemplo, en este caso) hacen lo que usted desea aquí, pero de acuerdo con los documentos de Vim (:help regex
) no: "Estos elementos solo funcionan para caracteres de 8 bits". Sí funciona aquí con Vim 7.3 en OS X 10.8, pero Vim 7.3 en Linux no funciona, así que supongo que hay algo específico de Apple en este Vim que lo permite. También descubrirá que hacerlo a través del enlace Vim Perl también falla, a pesar de que Perl tiene un muy buen soporte Unicode. Es posible que deba cambiar a un script Perl externo, para que pueda activar el soporte completo de Unicode.