2008/01/31

Recent entries from same category

  1. VimConf 2023 Tiny に参加しました
  2. Vim で Go 言語を書くために行った引越し作業 2020年度版
  3. Vim をモダンな IDE に変える LSP の設定
  4. ぼくがかんがえたさいきょうの Vim のこうせい 2019年 年末版
  5. VimConf 2019 を終えて

意外と便利なvimscript、なんとなく今日は底に眠ってそうで実は便利なスクリプトをご紹介。
vimで翻訳出来たら便利かな?なんて思ったりしませんか?
出来ます。

香り屋testdirというフォルダに、excitetranslate.vimというファイルがあります。
これを取ってきて、pluginsディレクトリに放り込むだけ。
ただし作られてから結構古く、exciteのURLも変更されていますので、以下のパッチを当てる必要があります。

*** excitetranslate.vim.orig    Mon Jul 23 16:30:34 2007
--- excitetranslate.vim Mon Jul 23 16:28:52 2007
***************
*** 4,16 ****
  "
  " Maintainer: MURAOKA Taro <koron@tka.att.ne.jp>
  " Author: Yasuhiro Matsumoto <mattn_jp@hotmail.com>
! " Last Change:25-Dec-2021.
  
  if !exists('g:excitetranslate_options')
    let g:excitetranslate_options = 'register,buffer'
  endif
  
! let s:excite_web = 'http://www.excite.co.jp/world/text/'
  
  function! s:CheckEorJ(word)
    let all = strlen(a:word)
--- 4,16 ----
  "
  " Maintainer: MURAOKA Taro <koron@tka.att.ne.jp>
  " Author: Yasuhiro Matsumoto <mattn_jp@hotmail.com>
! " Last Change:25-Dec-2021.
  
  if !exists('g:excitetranslate_options')
    let g:excitetranslate_options = 'register,buffer'
  endif
  
! let s:excite_web = 'http://www.excite.co.jp/world/english/'
  
  function! s:CheckEorJ(word)
    let all = strlen(a:word)
***************
*** 38,43 ****
--- 38,44 ----
    silent! %v/^<textarea /d _
    silent! %v/name="after"/d _
    silent! %s/<[^>]*>//g
+   silent! %s/\r//g
    let line = getline(1)
    silent bw!
    " Remove temporary files
注意)本プラグインを動作させる為には、「Chalice」に含まれる「aliceライブラリ」が必要です。「aliceライブラリ」の最新版は、svnリポジトリから取得出来ます。

あとは、vimのバッファで「This is a pen!」と70年代生まれ小学校1年生レベルの英語を打ち込み :ExciteTranslate とすれば これはペンです! と70年代生まれ小学校2年生レベルの答えが返ってきます。
またexcitetranslate.vimは、内部が英語ぽいか日本語ぽいかで逆の動作もしますので「魔女の宅急便」を訳すと Kiki's Delivery Service と戸田奈津子並みの答えが返ってきます。
Posted at by