一文解决终端和vim下的查单词问题

摘要:
MySdcv()letretStr=system('sdcv'.expand(“”))windoifexpand(“%”)==“dictWin”|q!

在linux下终端或Vim中经常会发现不认识的单词, 然后ctrl+c然后到baidu里面来进行翻译, 就想找一种更简单的方法能快速翻译.sdcv全称为stardict console version, 即终端下的词典, 发现在网上查到的用户大都使用这个工具, 于是自己也想试一试.

我用的linux版本为manjaro

  1. 首先安装sdcv:

nication@develop:~# sudo pacman -S sdcv

  1. 安装词典数据, 之前只安装了不带数据的sdcv. 字典下载地址是:

https://pan.baidu.com/s/11hqBiGCqY2f1mdhsGhaj2wCode: 5pgg

根据需要选择合适的字典,嫌上边文件太大的可以:

http://download.huzheng.org/zh_CN/下载,建议下载langdao-ec-gb dictionary(en - zh_CN) 朗道英汉字典即可,43万多个单词,应该是足够了,

  1. 将压缩包解压到/usr/share/stardict/dic这个目录下(如果没有此目录则手工创建)

  2. 现在, 你在终端敲sdcv就可查询单词了.

    nication@develop:/#sdcv face

    save to cache /usr/share/stardict/dic/stardict-langdao-ec-gb-2.4.2/langdao-ec-gb.idx
    Found 1items, similar to face.
    -->朗道英汉字典5.0
    -->face
    
    *[feis]
    n. 脸, 面容, 正面, 外观
    vt. 面对, 朝, 正视, 面临
    vi. 朝, 向
    【计】 现场可改变的控制元件
    【化】 端面
    【医】 [颜]面, 面容
    【经】 票面, 额面; 面对
    相关词组:
      have the face to dosth
      accept the face of...
      face down
      face sth outface up to...
      fly inthe face of...
      hide one's face from...
      inthe face of...
      face to face with...
      face to face
      on the face of it
      save one's face
      put a newface on sth
      set one's face against...
      show one's face
      slap sb inthe face
      stare sb inthe face
      to sb's face
    criticize sb to his face
      hit sb in the face
  3. 但是我们还要在vim下使用查单词功能, 在vim的配置文件添加如下语句:

    nication@develop:/# vim ~/.vimrc 在末尾添加:

    set keywordprg=sdcv -u 朗道英汉字典5.0function!MySdcv()
        let retStr=system('sdcv '.expand("<cword>"))
        windo if expand("%")=="dictWin" |q!|endif
        30vsp dictWin
        setlocal buftype=nofile bufhidden=hide noswapfile
        1s/^/=retStr/
        1endfunction
    
    nnoremap F :call MySdcv()<CR>

    其中

    keywordprg的参数是由命令:sdcv -l的结果:Dictionary's name Word count
    朗道英汉字典5.0 435468

此时在用vim打开的文件中, 在光标单词处, 按shift+f, 就可以查看单词了.结果如下:

一文解决终端和vim下的查单词问题第1张

我的终端设置的半透明,后面的是二进制壁纸,用的kde,开启了桌面特效。

免责声明:文章转载自《一文解决终端和vim下的查单词问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇idea之常用设置Django中间件 及 form 实现用户登陆下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vimdiff的常用命令

★ 跳转到下一个diff点: 请使用 ]c 命令★ 跳转到前一个diff点: 请使用 [c命令如果在命令前加上数字的话,可以跳过一个或数个差异点,从而实现跳的更远。比如如果在位于第一个差异点的行输入"2]c",将越过下一个差异点,跳转到第  三个差异点。★ 文件比较的最终目的之一就是合并,以消除差异。如果希望把一个差异点中当前文件的内容复制到另一个文件里,...

VimDiff技巧

源程序文件(通常是纯文本文件)比较和合并工具一直是软件开发过程中比较重要的组成部分。现在市场上很多功能很强大的专用比较和合并工具,比如 BeyondCompare;很多IDE 或者软件配置管理系统,比如Eclipse, Rational ClearCase都提供了内建的功能来支持文件的比较和合并。 当远程工作在Unix/Linux平台上的时候,恐怕最简单而...

vim 高级使用技巧第二篇

上篇我贴上了我使用的vim配置及插件配置,有这些东西只能是一个脚本堆积,无从谈高效的代码阅读开发。 下面我们就来写经常使用的命令,就从配置F系列快捷键开始吧。 F+ n 快捷键配置  F1基本上时帮助,这个貌似不能被 Terminal帮助使用了,  F2显示或者不显示行号,默认情况是显示的,在需要copy的一些操作时候这个是很有用的  F3换行显示或者不换...

docker下修改mysql配置文件

第一步: 找到要修改的镜像 docker ps    第二步: 进入要修改的镜像 docker exec -it 容器ID /bin/bash    第三步: 进入要修改的文件目录 cd /etc/mysql    第四步: 安装vim 如果不安装vim在使用vim的时候会报找不到,在修改docker中mysql的配置文件,无法使用vi命令。 apt...

Linux快捷键整理

在上课了解到Linux下类似“Alt+数字”进行窗口切换的快捷键后,我也去搜集了更多资料,知道了Linux下更多的快捷键,并把这些内容整理成一个博客,方便以后查找。 在命令行下的的快捷键: 删除 ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dl ctrl + h 删除光标所在位置前的字符相当于VIM里hx或者dh ctrl + k 删除光...

vscode + vim 全键盘操作高效搭配方案

基础知识 vscode-vim vscode-vim是一款vim模拟器,它将vim的大部分功能都集成在了vscode中,你可以将它理解为一个嵌套在vscode中的vim。 由于该vim是被模拟的的非真实vim,所以原生vim中有些功能它并不支持,如宏录制功能,但这依然不妨碍vscode-vim插件的优秀。 其实在vscode的扩展商店中,还有一个vsco...