在Ubuntu下Vim中阅读文档时,经常会发现不认识的单词,以前都是直接ctrl+c然后到google里面来进行翻译,感觉甚是麻烦。于是就想找一种方法可以类似于金山词霸的软件,但是在Linux的vim下使用的工具。
sdcv全称为stardict console version,即终端下的词典,发现在网上查到的用户大都使用这个工具,于是自己也想试一试。
我用的Ubuntu版本为Ubuntu 10.10,
1、首先安装sdcv:
root@linuxidc.com:~# apt-get install sdcv
2、安装词典数据,之前只安装了不带数据的sdcv。字典下载地址是:
http://yeelou.com/huzheng/stardict-dic/zh_CN/
我下载的字典为:langdao-ec-gb dictionary(en - zh_CN) 朗道英汉字典,下载下来的压缩包名为:stardict-langdao-ec-gb-2.4.2.tar.bz2。
3、将压缩包解压到/usr/share/stardict/dic这个目录下(如果没有此目录则手工创建)。
4、现在,你在终端敲sdcv就可查询单词了。
root@linuxidc.com:/# sdcv star
Found 1 items, similar to star.
-->朗道英汉字典5.0
-->star
*[stɑ:]
n. 星, 恒星, 星形物, 运气, 明星
vt. 以星状物装饰, 用星号标, 使成为明星
vi. 变成明星
【医】 星, 星体
5、但是我们还要在vim下使用查单词功能,在vim的配置文件添加如下语句:
root@linuxidc.com:/# vim /etc/vim/vimrc
在末尾添加:
function! Mydict()
let expl=system('sdcv -n ' .
\ expand(""))
windo if
\ expand("%")=="diCt-tmp" |
\ q!|endif
25vsp diCt-tmp
setlocal buftype=nofile bufhidden=hide noswapfile
1s/^/\=expl/
1
endfunction
nmap F :call Mydict()
此时在用vim打开的文件中,在光标单词处,按ctrl+f,就可以查看单词了。