Pythonにvim変数経由で日本語文字列を渡す
作者: 小見 拓
—
最終変更
2012年01月08日 12時13分
Pythonにvimエディタ変数経由で日本語文字列を渡す
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 = unicode(ntext, 'utf-8') EOF
このユニコード文字列を使用して、Pythonの処理を行うと良い。