El contenido de su página web de origen se ha reformateado demasiado. El texto fue, sin duda, supone que el uso (recta) entre comillas simples (ASCII 39/0x27
, U+0027
) en lugar de comillas simples rizado ( U+2018
y U+2019
, que son 0x91 and 0x92
en CP1252 (también conocida como MS-ANSI y WINDOWS-1252; un común codificación de 8 bits en Windows)) .
Vim le muestra los códigos hexadecimales porque no son válidos en la codificación que Vim esté utilizando (probablemente UTF-8). Si está editando texto que ya se ha guardado en un archivo, puede volver a cargar el archivo como CP1252 con :e ++enc=cp1252
; Esto debería hacer visibles las comillas rizadas. Pero no hay ninguna razón real para recargar como CP1252, basta con borrar las 0x91
y los 0x92
personajes y reemplazarlos con comillas simples.
:e ++enc=cp1252
:e ++enc=cp1252
? Si quiero vi desde la línea de comando un archivo que contenga caracteres de MS Word, sería bueno poder hacerlo en un solo paso, en lugar de abrir vi y luego cargar el archivo con el:e
comandovim --cmd 'set fileencodings=cp1252' /path/to/file
- El comando se ejecuta antes de lo normal.vimrc
y establece lafileencodings
opción (tenga en cuenta el finals
; también puede usar el nombre más cortofencs
) para que Vim solo intente CP1252 al cargar archivos. Esto debería funcionar para la edición única de dichos archivos, pero puede causar complicaciones si desea utilizar esa instancia de Vim para editar archivos con otras codificaciones.vim -c"set fencs" /path/to/file
91 y 92 son los códigos hexadecimales para abrir y cerrar el apóstrofe rizado (comilla simple) en la versión predeterminada de MS Windows de la codificación latin1 / ISO-8859-1, que se llama más específicamente cp1252 / Windows-1252 (donde cp significa código página).
La mayoría de las veces, las personas que copian contenido de documentos de Word / correos electrónicos de Outlook insertan estos caracteres como parte de la función "Citas inteligentes". Otros caracteres problemáticos en esta página de códigos son hexadecimales 93/94, que son comillas dobles de apertura y cierre, viñeta (•) y ligadura OE (œ y Œ). Puede ver una lista completa de los "caracteres problemáticos", los que no se asignan directamente a ISO-8859-1 o UTF-8 con el mismo código, en la página de Wikipeda para cp1252 resaltada en verde.
Si todo lo que desea es abrir el archivo con la codificación correcta, use la opción ++ enc = cp1252 para el comando: e:
Puede reemplazar un código hexadecimal incorrecto en particular en Vim con el comando sustituto (: s) y una de las sustituciones de código:
Para cambiar los caracteres hexadecimales 91/92 que necesita hacer:
fuente
sed -i "s/[\x91\x92]/\'/g" *.txt
pero no funcionó.perl -p -i -e "s/[\x91\x92]/'/g" *.txt
sed -i "s/\x92/'/g"
trabajó para mi.Use
iconv
para convertir el archivo de texto de CP1252 a UTF-8 antes de abrirlo.En Mac OS use esto:
fuente
En realidad, representan los hex 91 y 92, que en la página de códigos de Windows son comillas simples de apertura y cierre ('y' - Alt-0145 y Alt-0146).
Pruebe la siguiente búsqueda / reemplazo:
fuente