all regex vim non-printable

all - ¿Cómo reemplazo o encuentro caracteres no imprimibles en vim regex?



vim replace %s (6)

Tengo un archivo con algunos caracteres no imprimibles que aparecen como ^ C o ^ B, quiero encontrar y reemplazar esos caracteres, ¿cómo hago para hacerlo?


Digamos que quiere reemplazar ^ C con C:

:%s/ Ctrl V C /C/g

Donde Ctrl V C significa tipo V, luego C mientras mantiene presionado Ctrl .

Ctrl V te permite ingresar caracteres de control.


Eliminando solo símbolos de control:

:%s/[[:cntrl:]]//g

Eliminación de caracteres no imprimibles (también elimina caracteres no ASCII):

:%s/[^[:print:]]//g


Intenta esto después de guardar tu archivo en vim (asumiendo que estás en un entorno Linux)

:%!tr -cd ''[:print:]/n''


Ninguna de las respuestas aquí usando los personajes de control de Vim funcionó para mí. Tuve que entrar en un rango de Unicode.

:%s/[/x00-/x08/x0B/x0C/x0E-/x1F/x7F-/x9F]//g

Ese rango de Unicode se encontró en esta otra publicación: https://.com/a/8171868/231914


Puede usar el prefijo CTRL-V para ingresarlos, o si no son fáciles de escribir, tire e insértelos usando CTRL-R " .


Puedes usar:

:%s/^C//g

Para obtener el ^C mantenga presionada la tecla de control, presione V luego C (Ambos presionan la tecla de control) y aparecerá el ^C Esto encontrará todas las ocurrencias y las reemplazará con nada.

Para eliminar tanto ^C como ^B puedes hacer:

:%s/^C/|^B//g