パーソナルツール

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の処理を行うと良い。

ドキュメントアクション
コメント
blog comments powered by Disqus