Vim:Windows下的终端编码(Unicode)
我不知道为什么,但是这个话题似乎被记录在案,并且被争议所涵盖,因为没有人知道真正的答案(除了莫奥莱纳尔先生,也很少回答)。
所以基本上我提出了一个讨论here,它很快死了,可能是因为没有太多的人在Windows的终端模式下使用Vim。 我的编码设置如下所示: if has('multi_byte') if empty(&termencoding) let &termencoding = &encoding endif let &encoding = 'utf-8' let &fileencoding = 'utf-8' endif 当然,我没有运行在GVim下的问题:可以输入任何字符,我修补的Consolas for Powerline工作正常。当我尝试在终端模式下运行Vim时,问题开始。我使用ConEmu,一个功能丰富的终端模拟器Windows。它声称正式支持Unicode开箱即用。例如,我可以运行以下测试脚本: chcp 65001 & (cmd /c type "%~dpn0.cmd") & pause & goto :EOF English: texts,web pages and documents Graves,etc: à á a ? ? ? ? ? è é ê ? ì í ? ? Greek: ? Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Arabic: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Full width: @ A B C D E F G H I J K L M N O Romanian: texte,pagini Web ?i a documentelor Vietnamese: v?n b?n,các trang web và các tài li?u Russian: тексты,веб-страницы и документы Japanese: テキスト、Webページや文書 Yiddish: ?????,???? ???????? ??? ?????????? Hindi: ???,??? ??????? ?? ???????? Thai: ??????? ???? ???? ??? ?????? Korean: ???,? ??? ? ?? Chinese: 文本,網頁和文件 我可以在ConEmu中正确看到所有的符号。是的,测试脚本打开65001代码页。我已经发现Vim根本无法使用65001代码页,所以这似乎不是一个选择。终端中的默认代码页是437,我也可以使用该默认代码页在ConEmu中输入俄语,并显示正确。 阅读:h termencoding,我看到Windows默认使用Unicode传递符号。那么,我不明白为什么当我在终端Vim中输入任何非ANSI时,我看到?符号?航空公司也不会从修补的Consolas显示花哨的符号。如何在Windows上为终端Vim配置真正的Unicode?顺便说一下,和termencoding报告437也是。 有人可以,一次又一次地,向我解释一下,在Windows上的终端Vim的Unicode支持(以及如何配置)?
我也想过这个我自己也是,过去尝试了ConEmu,并在努力获得256色和控制面板上的迷人字体后,放弃了。
所以今天我再试一次,惊喜,惊喜 – 事情似乎正在起作用。鉴于对版本的所有极端敏感性,我将尝试列出所有内容的版本 VIM - Vi IMproved 7.4 (2013 Aug 10,compiled Aug 1 2014 09:38:34) MS-Windows 32-bit console version Included patches: 1-389 Compiled by raghuramanr@ADITI ConEmu 140723 Alpha Windows:Win 7×64 .vimrc中的ConEmu设置: " ConEmu if !empty($CONEMUBUILD) echom "Running in conemu" set termencoding=utf8 set term=xterm set t_Co=256 let &t_AB="e[48;5;%dm" let &t_AF="e[38;5;%dm" " termcap codes for cursor shape changes on entry and exit to " /from insert mode " doesn't work "let &t_ti="e[1 q" "let &t_SI="e[5 q" "let &t_EI="e[1 q" "let &t_te="e[0 q" endif 脚步: chcp 65001 vim.exe 我仍然无法在vim中得到一个闪烁的光标,这是令人困惑的。比以前更好的东西会被搞砸了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |