目次
はじめに
先日、
Pythonで英語⇔日本語の単語を調べる
Pythonを紹介しましたが、
以前、紹介した通り、
VimはPythonを使ってVimの機能の拡張をすることができます。
そこで、
上記のPython翻訳ツールをvimに組み込んで、
vim上から、簡単に英単語と日本語単語を変換できる
vimスクリプトを作りました。
調べると、
vimから辞書を調べるツールは沢山あるようですが、
下記のような、
シンプルなWeb翻訳ツールが欲しかったので、自作しました。
ローカルに辞書データを持ちたくない (逐次ネットから取得したい)
テキストブラウザなどをインストールしたくない
逆に、ネット接続が無い環境では、
翻訳できない点は注意が必要です。
英語⇔日本語を変換できるvimスクリプト
下記のvimscriptをファイルと、
前述の翻訳Pythonモジュールを保存して、、
そのvimスクリプトをsourceすれば使えます。
" " @brief Translate " " @author Atsushi Sakai " " @copyright (c): 2016 Atsushi Sakai " " @license : MIT function! Translate(arg) let l:arg=a:arg " echo g:myvimrcpath python << EOF import vim import sys sys.path.append('pythonpath') #print(sys.path) import Translate var = vim.eval("l:arg") output=Translate.translate(var) print(output) EOF endfunction " Command enable command! -nargs=* Translate :call Translate(<f-args>)
Translate.pyは下記のリンクからDLできます。
Translateモジュールをimportするために、
Translate.pyのパスを指定する必要があるので、
sys.path.append('pythonpath')
この部分は適宜変更下さい。
使い方
下記のコマンドvimで実行すれば、
第一引数の単語の翻訳結果を表示してくれます。
:Translate cost
単語の部分は、
英語でも日本語でも自動認識して、
もう片方に変換してくれます。
ちなみにMac, Linux, Windowsで動作確認済みです。
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。