从 vim 传递给 Python 的非 UTF-8 字符串是无法通过的 3
作者: mgedmin创建于 2016年9月10日更新于 2026年10月1日
标签if_python
当 vim 变量的值不是有效的 UTF-8 字符串时,:py3 vim.eval('variable') 会引发 UnicodeDecodeError。 这导致诸如 UltiSnips 等插件在尝试处理包含 <A-@> 的映射列表时 崩溃,因为 Vim 认为 <A-@> 是字节 0xC0。 在插件中,会发生以下情况: - 运行 vim.command('redir => _tmp_smaps | smap | redir END') 以获取映射 - 尝试解析 vim.eval('_tmp_smaps').splitlines() 以查看有哪些 select-mode 映射
内容来源: vim/vim