一行代码为vim增加自动翻译单词功能 使用有道词典
2016-11-25 18:20
615 查看
1. 在 ~/.bash_profile最后增加如下:
translate()
{
word=$1
[ "x$word" = "x" ] && return 1
start=0;
wget -q --dns-timeout 6 -O - "http://fanyi.youdao.com/openapi.do?keyfrom=youdao111&key=60638690&type=data&doctype=xml&version=1.1&q=$word" |\
while read line;do if echo "$line" | grep "<explains>" >/dev/null; then start=1;fi; if test $start -eq 1 && echo "$line" | grep '<!\[CDATA\[' >/dev/null; then echo $line| sed -n 's/^.*CDATA\[\(.*\)\]].*$/\1/gp';fi; if echo $line | grep "</explains" >/dev/null;
then break; fi;done
}
export -f translate
2. 在~/.vimrc(没有就创建一下)增加:
nnoremap tr :let a=expand("<cword>")<Bar>exec '!translate ' .a<CR>
这样在普通模式下, 输入‘tr’两个字符 就会到有道在线词典查询当前光标处的单词 显示出来
translate()
{
word=$1
[ "x$word" = "x" ] && return 1
start=0;
wget -q --dns-timeout 6 -O - "http://fanyi.youdao.com/openapi.do?keyfrom=youdao111&key=60638690&type=data&doctype=xml&version=1.1&q=$word" |\
while read line;do if echo "$line" | grep "<explains>" >/dev/null; then start=1;fi; if test $start -eq 1 && echo "$line" | grep '<!\[CDATA\[' >/dev/null; then echo $line| sed -n 's/^.*CDATA\[\(.*\)\]].*$/\1/gp';fi; if echo $line | grep "</explains" >/dev/null;
then break; fi;done
}
export -f translate
2. 在~/.vimrc(没有就创建一下)增加:
nnoremap tr :let a=expand("<cword>")<Bar>exec '!translate ' .a<CR>
这样在普通模式下, 输入‘tr’两个字符 就会到有道在线词典查询当前光标处的单词 显示出来
相关文章推荐
- 一个为扩展过的自定义DataGridiew控件提供多行表头重绘所需的TreeNode和Columns代码,以满足列自动增加的功能。大家看看帮忙优化下
- 用代码来实现oracle自动增加1功能
- 牛刀小试:使用Reactive Extensions(Rx),一行代码实现多线程任务执行规定时间后自动停止
- 使用QRcode 一行代码实现二维码扫描下载的功能
- 多操作系统平台协同开发时 GIT 的注意事项: 不同操作系统中的换行符(不要使用git的换行符自动转换功能,并且,尽可能保证代码的换行符都是unix); 避免使用第三方插件(如 EGit );
- 转:让vim支持c++代码自动补全功能
- windows下用vim实现qt代码的自动补全功能(zz)
- 自动打印源代码文件当前行的下一行代码--vim 脚本
- vim中实现php代码自动完成功能
- Linux VIM增加代码浏览功能
- 如何在配置vim的(Python)代码自动补全功能
- JDBC 查询日志变得简单 使用增强型PreparedStatement向JDBC代码增加日志功能
- vim代码自动补全功能
- 用vim实现C++代码的自动补全功能
- 使用Jquery搭建最佳用户体验的登录页面 之 记住密码自动登录功能,(含后台代码)
- 解决增强MyEclipse的代码提示功能实例化时自动补全不必要的单词问题
- 使用Vim的折叠功能书写程序代码
- 使用Vim为每一行自动编号
- 用vim实现C++代码的自动补全功能