2010-02-16 6 views
44

Ich kann kein Verzeichnis in Russisch (UTF-8) mit vimscript in WinXP erstellen.Erstellen Sie ein Verzeichnis mit UTF-8-Namen in Vim

Zum Beispiel

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

erstellt Verzeichnis mit привет Namen statt привет.

Ich habe auch versucht,

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

mit dem gleichen Ergebnis.

Ist es möglich?

+2

Vielleicht würde helfen, die 'encoding' Option Einstellung? –

+0

2Laurence Gonsalves: yep, wenn ich es auf 'cp1251' - ich nehme an, die eine russische winxp verwendet - dann funktioniert es. –

+0

2Laurence Gonsalves: Aber ich muss 'привет' von UTF-8 zu cp1251 konvertieren. Gibt es einen Weg ohne explizite Konvertierung? –

Antwort

19

es gefunden.

sollte ich iconv Funktion:

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

Das sieht nach schlechter Übung aus, wenn man UTF-8 verlässt. Sie sollten wahrscheinlich überprüfen, warum UTF-8-Namen nicht für Sie arbeiten. – dionyziz

+2

@dionyziz, wahrscheinlich ist die Antwort, weil er auf WinXP ist und das Systemgebietsschema cp1251 ist und es keine Möglichkeit gibt, es auf utf-8 zu setzen. –

30

versuchen diese

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

Das gleiche Ergebnis -'РїСЂРёРІРІРμС,, –

64

Was ich in der Regel tun ist, ich mit :Explore auf den Explorer-Modus wechseln und d drücken. Es fragt mich dann nach dem Verzeichnisnamen.

+0

Ich brauche das in einem Vimscript zu arbeiten. –

1

Sie encod ändern können. Hinzufügen:

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

chcp 65001 - UTF-8

+0

Sie meinen, dass Sie die Konsole auf UTF-8 eingestellt haben (führen Sie 'chcp 65001' in der Konsole aus) und starten Sie dann Vim? Als Referenz ist [65001 die Pseudocodepage für die Verwendung von UTF-8] (// stackoverflow.com/a/1629454/2157640). – Palec

Verwandte Themen