¿Cómo puedo buscar un personaje como las pantallas <85> en Vim?
Pregunta
Tengo un archivo que se convierte de EBCDIC a ASCII. Donde solía haber nuevas líneas en la actualidad hay personajes que aparecen como <85> (un símbolo que representa un único carácter, no los cuatro personajes que parece ser) y todo el archivo se encuentra en una línea. Quiero buscar y reemplazarlos todos con nuevas líneas de nuevo, pero no sé cómo.
He intentado poner el cursor sobre uno y utilizar * para buscar la siguiente aparición, con la esperanza de que podría aparecer en mi historia / búsqueda. Eso no funcionó. Simplemente buscó la palabra que siguió a la <85> carácter.
Googled en torno a algunos, pero no vi nada obvio.
Mi objetivo es construir una búsqueda y reemplazo cadena como:
:%s/<85>/\n/g
que en la actualidad sólo me da:
E486: Pattern not found: <85>
Gracias!
Solución
este post partir de una búsqueda en Google. Parece que usted debería ser capaz de hacer:
:%s/\%x85/\r/gc
(Omitir el c
hacer la sustitución sin preguntar, tratar con c
primero para asegurarse de que está haciendo lo que quiere que haga.)
En vim, escribiendo :h \%x
da más detalles. Además de \%x
, puede utilizar \%d
, \%o
, \%u
y \%U
para decimal, octal, hasta cuatro y hasta ocho caracteres hexadecimales.
Otros consejos
intente esto: :%s/<85>/^M/g
Nota: pulse Ctrl-V juntos entonces M
o si no les importa usar otra herramienta,
awk '{gsub("<85>","\n")}1' file