MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

vimから簡単に英語⇔日本語の単語を調べるvimスクリプトを作った

 

目次

はじめに

先日、

Pythonで英語⇔日本語の単語を調べる

Pythonを紹介しましたが、

myenigma.hatenablog.com

以前、紹介した通り、

VimはPythonを使ってVimの機能の拡張をすることができます。

myenigma.hatenablog.com

 

そこで、

上記の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>)

github.com

Translate.pyは下記のリンクからDLできます。

github.com

 

Translateモジュールをimportするために、

Translate.pyのパスを指定する必要があるので、

sys.path.append('pythonpath')

この部分は適宜変更下さい。

 

使い方

下記のコマンドvimで実行すれば、

第一引数の単語の翻訳結果を表示してくれます。

:Translate cost

f:id:meison_amsl:20160518104001j:plain

単語の部分は、

英語でも日本語でも自動認識して、

もう片方に変換してくれます。

 

ちなみにMac, Linux, Windowsで動作確認済みです。

 

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

https://gumroad.com/l/myenigmasupportersgumroad.com