首页 > 代码库 > 安装使用sdcv并改良在sdcv在vim下的使用体验

安装使用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下的使用体验