LinuxTOY 是一个致力于提供 Linux 相关资讯的专题站点。如果您发现了好用好玩的 Linux 东东并愿意发扬自由、分享的精神,可以点击顶部导航 Contact 按钮进行投稿。

Related entries

  • No related posts

读者来稿:VIM 也玩取词翻译

感谢读者 lerosua 与我们分享在 VIM 中取词翻译的技巧:

本人当然不只是用 vim 来编辑文件,也有很多时候用来看英文文件的,如各种源码包里的 README、INSTALL、TODO 等。这里面就有许多不认识的单词了,用星际译王当然可以翻译了,只是运用了鼠标,效率差许多了。于是想到在 vim 里取词翻译。这其实没什么技术含量的。

  1. 安装一个字符下的翻译软件。

    星际译王的子项目 sdcv、找个你装得上的版本装。源码装也只不过是 ./configure ; make ;
    sudo make install 三步而已。一些特定的发行版可能不能编译通过。所以说是找个你装得上的版本装。本人 Redhat AS 4 编译 0.40 通过。最新的 0.42 通不过。glibc 要求的太高了。然后安装词典。如果是已经安装过星际译王的,sdcv 会默认使用它的词典。都是同一作者嘛。

  2. 配置 vim。

    在你的 ~/.vimrc 里加上这句。注意快捷键是 ctrl + \ ,如果你配置文件已经用过了,请选择另外的键。

    [php]nmap :!sdcv “=expand(””)[/php]

    现在在 vim 里读 README,遇到不会的单词就按 Ctrl + \ ,它就调用 sdcv 来翻译。爽!呵呵!:)

署名 • 注明出处 • 非商业性使用

3 Comments

  1. 1 percy Commented @ 2007-04-12 11:49 pmReply to this comment

    方法不错,
    vim插件的设置应该为:
    nmap :!clear;sdcv =expand(”")
    我写了个py的翻译脚本,不用装sdcv就可以在vim上翻译了,

  2. 2 lewbing Commented @ 2007-04-13 8:14 amReply to this comment

    请问在终端中,sdcv如何显示音标呢?我用的桌面环境是kde,终端:konsole.
    我按照本文中的设置,在vim中取词不成功.经过查找,正式设置如下:

    “”快捷键+”\”来翻译vim中的词.
    “nmap :!sdcv “”
    “=expand”(”")
    “nmap :!sdcv “”=expand(”")

    “” use +F to translate
    function! Mydict()
    let expl=system(’sdcv -n ‘ .
    \ expand(”"))
    windo if
    \ expand(”%”)==”diCt-tmp” |
    \ q!|endif
    “25vsp diCt-tmp
    botright vertical 25split diCt-tmp
    setlocal buftype=nofile bufhidden=hide noswapfile
    1s/^/\=expl/
    1
    endfunction
    nmap F :call Mydict()

  3. 3 lewbing Commented @ 2007-04-15 2:05 pmReply to this comment

    用konsole我不知道如何能正常显示sdcv的音标,但我用rxvt-unicode实现了.呵呵,在rxvt-unicode中较容易更改字体.