2010-02-16 37 views
44

我无法在WinXP中使用vimscript创建俄语(UTF-8)目录。在Vim中使用UTF-8名称创建目录

例如

:call mkdir("привет") 

привет名代替привет创建目录。

我也曾尝试

:call system("mkdir привет") 

具有相同的结果。

可能吗?

+2

也许调整 '编码' 选项将帮助? – 2010-02-16 07:11:44

+0

2Laurence Gonsalves:是的,如果我把它设置为'cp1251' - 我想俄罗斯的一个winxp使用 - 然后它的作品。 – 2010-02-16 07:29:52

+0

2Laurence Gonsalves:但我必须将'привет'从UTF-8转换为cp1251。没有明确转换的方式吗? – 2010-02-16 07:39:10

回答

19

找到它。

我应该使用的iconv功能:

:call mkdir(iconv("привет", "utf-8", "cp1251")) 
+5

这看起来很糟糕,因为你正在从UTF-8移出。您应该检查为什么UTF-8名称不适合您。 – dionyziz 2011-12-29 22:54:40

+2

@dionyziz,可能答案是因为他在WinXP上,系统区域设置是cp1251,并且没有办法将它设置为utf-8。 – 2016-11-16 15:30:33

30

试试这个

:!mkdir "привет" 
+0

相同的结果-'РїСыРёРІРμС,' – 2010-02-16 07:24:03

64

我最常做的是我切换到浏览器模式与:Explore并按d。然后它会问我目录名称。

+0

我需要这个在vimscript工作。 – 2010-02-16 08:07:30

1

你可以改变ENCOD。地址:

chcp 65001 
:call mkdir("привет") 

CHCP 65001 - UTF-8

+0

你的意思是你设置控制台使用UTF-8(在控制台执行'chcp 65001'),然后启动Vim?作为参考,[65001是使用UTF-8的伪代码页](// stackoverflow.com/a/1629454/2157640)。 – Palec 2017-06-30 10:18:15