O conteúdo da sua página da web de origem foi reformatado demais. O texto foi, sem dúvida, suposto uso (em linha reta) aspas simples (ASCII 39/0x27
, U+0027
) em vez de aspas simples chaves ( U+2018
e U+2019
, que são 0x91 and 0x92
em CP1252 (também conhecida como MS-ANSI e Windows-1252; uma codificação comum de 8 bits no Windows)) .
O Vim está mostrando os códigos hexadecimais porque eles não são válidos em qualquer codificação que o Vim esteja usando (provavelmente UTF-8). Se você estiver editando texto que já foi salvo em um arquivo, poderá recarregá-lo como CP1252 com :e ++enc=cp1252
; isso deve tornar as aspas encaracoladas visíveis. Mas não há nenhuma razão real para recarregá-lo como CP1252, basta apagar os 0x91
e 0x92
caracteres e substituí-los por aspas simples.
:e ++enc=cp1252
:e ++enc=cp1252
? Se eu quiser vi na linha de comando de um arquivo contendo caracteres de palavra de MS, que seria bom para ser capaz de fazê-lo em uma única etapa, em vez de vi abertura e, em seguida, carregar o arquivo com o:e
comandovim --cmd 'set fileencodings=cp1252' /path/to/file
- O comando é executado antes do normal.vimrc
e define afileencodings
opção (observe o finals
; você também pode usar o nome mais curtofencs
) para que o Vim tente o CP1252 apenas ao carregar arquivos. Isso deve funcionar para a edição única desses arquivos, mas pode causar complicações se você desejar usar essa instância do Vim para editar arquivos com outras codificações.vim -c"set fencs" /path/to/file
91 e 92 são os códigos hexadecimais do apóstrofo encaracolado de abertura e fechamento (aspas simples) na versão padrão do MS Windows da codificação latin1 / ISO-8859-1, que é mais especificamente chamada cp1252 / Windows-1252 (em que cp significa código página).
Esses caracteres geralmente são inseridos por pessoas que copiam o conteúdo de documentos do Word / e-mails do Outlook como parte do recurso "Citações inteligentes". Outros caracteres problemáticos nesta página de código são hexágono 93/94, que são aspas duplas de abertura e fechamento, ponto de marcador (•) e ligadura OE (œ e Œ). Você pode ver uma lista completa dos "caracteres problemáticos", aqueles que não são mapeados diretamente na ISO-8859-1 ou UTF-8 com o mesmo código, na página da Wikipeda do cp1252 destacada em verde.
Se tudo o que você deseja é abrir o arquivo na codificação correta, use a opção ++ enc = cp1252 no comando: e:
Você pode substituir um código hexadecimal incorreto específico no Vim pelo comando substitute (: s) e uma das substituições de código:
Para alterar os caracteres hexadecimais 91/92, você precisa:
fonte
sed -i "s/[\x91\x92]/\'/g" *.txt
mas não funcionou.perl -p -i -e "s/[\x91\x92]/'/g" *.txt
sed -i "s/\x92/'/g"
trabalhou para mim.Use
iconv
para converter o arquivo de texto de CP1252 para UTF-8 antes de abrir.No Mac OS, use o seguinte:
fonte
Na verdade, eles representam os hexágonos 91 e 92, que na página de códigos do Windows são aspas simples de abertura e fechamento ('e' - Alt-0145 e Alt-0146).
Tente a seguinte pesquisa / substituição:
fonte