2009-01-10 5 views
10

Cuando cortar y pegar de un documento de Word en VIM, las cotizaciones se traducen en un circunflejo seguido por < 99>, donde el < 99> es una representación única de bytes. (Lo sé porque cuando me muevo hacia él, escribir una sola 'l' me lleva directamente a los cuatro caracteres).VIM ¿Cómo puedo buscar una representación <XX> solo byte

Quiero buscar y reemplazar, y sé lo suficiente como para encontrar el dígrafo a-cirumflex usando control-K a>, pero no puedo encontrar la manera de buscar el < 99>, y buscar el literal/< 99> no funciona.

Así que realmente tienen dos preguntas:

Qué tema de ayuda debería consultar en vim para aprender acerca de qué clase de bestia la < 99> es (ya que no parece ser un dígrafo) (o tal vez ES un dígrafo y me falta algo)?

¿Cómo busco un solo carácter representado por < 99>?

Respuesta

21

Prueba esto:

Ponga el cursor sobre el carácter, el tipo ga y verá la representación hexadecimal del carácter, entonces se puede sustituir con:

:% s/\% xNN // g

Donde NN es el código hexadecimal del carácter.

+0

¡genial! Me he estado preguntando durante algún tiempo cómo hacer esto ... El único comentario que puedo hacer es que esta respuesta simplemente elimina el carácter hexadecimal. Para aquellos que no estén familiarizados con vi, puedes reemplazarlo con lo que quieras haciendo algo como esto:% s/\% xNN/REPLACEMENT/g –

+0

no funciona para mí, ¿cuál podría ser el problema? – kissgyorgy

+1

por alguna razón tuve que buscar con \% U para el carácter 0200b. Si su patrón no coincide, intente esto: :% s/\ UNN // g – kissgyorgy

0

Is'n relaciona vim shows question mark instead of character?

Podría ser el carácter unicode 0x0099, que no tiene representación gráfica.

Cómo insertar unicode - "u0099 en modo INSERT inserta un carácter con el valor de 0x0999 de unicode". (De here)

0

@CMS búsqueda detallada directamente para el valor del carácter. Si el personaje es una palabra en sí misma (o puede agregar espacios rápidamente para hacerlo), también puede colocar el cursor sobre el carácter y escribir ***** - que buscará la palabra más cercana al cursor () # para ir hacia atrás).

Cuestiones relacionadas