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
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