【问题标题】:Properly display utf-8 HTML characters in non-multibyte Vim在非多字节 Vim 中正确显示 utf-8 HTML 字符
【发布时间】:2013-03-11 05:14:20
【问题描述】:

我一直在尝试在 vim 中打开 .epub 文件进行阅读(是的,这很愚蠢,让我们暂时忽略它)并且我在 epubs 的内部 html 如何显示诸如 ' 和 " 等字符时遇到了麻烦东西。

Vim 将' 显示为â~@~Y,而用less 打开文件会给我<E2><80><99>。我不确定 vim 如何处理这个问题(它似乎将 ~@~Y 视为单个字符),因此我不确定如何用它们的 utf-8 等效字符替换特殊的 HTML 字符。

是否有可以正确显示此内容的编码设置?或者手动输入这些字符以便创建搜索和替换宏的方法?

谢谢

【问题讨论】:

  • 这些不是 HTML 实体:它们很可能是错误编码检测的结果。

标签: html vim utf-8


【解决方案1】:

看起来 Vim 没有正确检测到 UTF-8 编码;你可以检查

:setlocal fileencoding?

并强制使用 UTF-8

:edit ++enc=utf-8 file.epub

(或调整您的 'fileencodings' 选项以自动检测到它)。

【讨论】:

  • 似乎我的版本没有使用 +multi_byte 选项编译,还有其他选项吗?
  • 不,你必须找到一个支持多字节的 Vim,或者接受奇怪的表示,或者找到一个 utf82ascii 实用程序,它首先将文件转换为 ASCII。或者,如果您可以接受较少给您的<xx> 表示,请使用vim -b 以二进制模式打开文件。
猜你喜欢
  • 2020-04-22
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2011-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多