本人当然不只是用vim来编辑文件,也有很多时候用来看英文文件的,如各种源码包里的README,INSTALL,
TODO 等。这里面就有许多不认识的单词了,用星际译王当然可以翻译了,只是运用了鼠标,效率差许多了。
于是想到在vim里取词翻译。这其实没什么技术含量的。
1.安装一个字符下的翻译软件。
星际译王的子项目 sdcv, 找个你装得上的版本装。源码装也只不过是./configure ; make ;
sudo make install 三步而已。一些特定的发行版可能不能编译通过。所以说是找个你装
得上的版本装。本人Redhat AS 4 编译0.40通过。最新的0.42通不过。glibc要求的太高了。
然后安装词典。如果是已经安装过星际译王的,sdcv会默认使用它的词典。都是同一作者嘛。
另:原来Ubuntu的源里已经有sdcv了,所以此系统的用户只要apt-get install sdcv就可以
了。其他有源的系统也可能有。
2. 配置vim。
在你的~/.vimrc里加上这句。注意快捷键是ctrl + \ , 如果你配置文件已经用过了,请选择另外的键。
nmap <C-\> :!sdcv “<cword>” <C-R>=expand(“<cword>”)<CR><CR>
现在在vim里读README,遇到不会的单词就按Ctrl + \ , 它就调用sdcv来翻译。爽!呵呵!:)
补充: 上面的vim语句会令sdcv查询两次,现在更正这个小BUG。
nmap <C-\> :!sdcv <C-R>=expand(“<cword>”)<CR><CR>
补1: sdcv命令加参数 -n 使程序非交互执行。快捷键改为 ” F ” nmap F :!sdcv -n <C-R>=expand(“<cword>”)<CR><CR>