安装使用sdcv并改良在sdcv在vim下的使用体验
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装使用sdcv并改良在sdcv在vim下的使用体验相关的知识,希望对你有一定的参考价值。
注:改良vim体验的直接看最后一章
一、什么是sdcv
终端词典sdcv,顾名思义,是在终端下使用的词典工具。
我对它所说的终端的理解是:任意可以使用它的地方,可以是Shell本身,也可以是某个软件内部。
二、为什么选择它
1.作为工具,他并不绑定字典,便于更换和多字典同时查询。
2.并不依赖GUI,通用性强、稳定性强。
3.配合各种可以调用Shell命令的软件,使用方便。
三、sdcv安装
利用安装命令安装sdcv即可,大多软件库都有
例子如下:
CentOS, RHEL, Fedora (need EPEL repo) $ yum install sdcv Ubuntu,Deban $ sudo apt-get install sdcv
另附上sdcv下载地址,以备自行安装所需
http://dushistov.github.io/sdcv/
四、字典安装
1.下载字典
可用的词典下载地址:http://download.huzheng.org/
$ cd /tmp 朗道英汉字典 $ wget http://download.huzheng.org/zh_CN/stardict-langdao-ec-gb-2.4.2.tar.bz2 朗道汉英字典 $ wget http://download.huzheng.org/zh_CN/stardict-langdao-ce-gb-2.4.2.tar.bz2
2.安装词典
将词典解压到~/.stardict/dic目录下
$ mkdir -p ~/.stardict/dic $ cd ~/.stardict/dic $ tar xvf /tmp/stardict-langdao-ec-gb-2.4.2.tar.bz2 $ tar xvf /tmp/stardict-langdao-ce-gb-2.4.2.tar.bz2
五、基本使用
单个查询使用命令:sdcv hello
连续查询使用命令:sdcv 回车,然后查询、查询、查询,查询完后ctrl+c退出
查询已安装词典使用命令:sdcv -l
六、vim改造(正题)
1.改造目标与思路
能在vim中使用一个快捷键让vim弹出一个窗口显示当前光标所在单词的翻译,
因为编程经常会有多个词连在一起,最好能用:命令+单词 产生相同效果。
那么我们要写一个用户函数,然后使用键映射和用户命令的方法达成目标。
2、具体方法
将如下代码添加到 ~/.vim/plugin/sdcv.vim 文件中
1 function! My_sdcv(word) 2 let expl=system(‘sdcv -n ‘ . 3 \ expand(a:word=="that word"?"<cword>":a:word)) 4 windo if 5 \ expand("%")=="diCt-tmp" |q!|endif 6 vsplit diCt-tmp 7 setlocal buftype=nofile bufhidden=hide noswapfile 8 1s/^/\=expl/ 9 1 10 exe "normal \<c-W>L" 11 vertical res 25 12 exe "normal \<c-W>p" 13 endfunction
将如下代码添加到 ~/.vimrc 文件中
1 nmap K :call My_sdcv("that word")<CR> 2 command -nargs=1 FY call My_sdcv("<args>")
第一行中的K可以改为任意不用的快捷键或组合
第二行中的FY可以改为任意以大写字母开头的未使用命令名
3.使用
打开vim,在正常模式下使用输入K,可观察到右方出现一列窗口25列的窗口,显示当前光标下单词的翻译
在命令模式下FY Hello效果相同
以上是关于安装使用sdcv并改良在sdcv在vim下的使用体验的主要内容,如果未能解决你的问题,请参考以下文章