vimスクリプト側 Pythonに日本語文字列を渡す前に、 Pythonの処理に都合の良いエンコーディングの文字列に変換しておく。 (迷った場合は、「utf-8」あたりを推奨。) :let jptext = "日本語文字列" " utf-8エンコーディングの文字列に変換。 :let var = iconv(jptext, &encoding, "utf-8") Pythonコード側 Pythonでvimスクリプトから日本語入りデータを受け取ったら、Pythonのユニコード文字列に変換する。 (ユニコード文字列に変換する際のエンコーディングは、先ほど決めたエンコーディング。) :python << EOF import vim # read "var" value. ntext = vim.eval("var") # convert to Python unicode unicodetext