vim技巧之取词翻译III
星期五, 七月 16th, 2010以前写过vim里用sdcv取词的一系列文章。 按一个快捷键能调出窗口来显示sdcv的翻译结果,但它不能方便地调用关闭。也就是用同一个快捷键开关窗口。如今此vim脚本有了进化,加了如此功能。 全部脚本如下: let s:w_mywin=0 function! Mydict() if s:w_mywin let s:w_mywin=0 set nu! close file return endif let s:w_mywin=1 let expl=system(’sdcv -n ‘ . \ expand("<cword>")) windo if \ expand("%")=="diCt.css" | \ q!|endif botright vertical 25split diCt.css setlocal buftype=nofile bufhidden=hide noswapfile set nu! 1s/^/\=expl/ 1 endfunction nmap <silent> <f2> :call Mydict()<CR> 将之保存为sdcv.vim,放到~/.vim/plugin即可。 详细信息参考: vim技巧之取词翻译II [...]
vim的插件 workspace manager
星期日, 一月 7th, 2007今天要一个vim的插件 workspace. 用于vim管理源码文件。 前言:台湾的一位博客ericsk已经介绍过这个插件了。地址在这里。我也是看了他的介绍才了解这个插件的。 事实是老犁说TG给了他一张VIM的图片,这张图片展示的就是这个workspace的插件。当然当时我们 都不知道是什么样的插件。这张图片就是台湾朋友博客上的那张vim图片,当时只知道是flickr上面的图 片,其它一无所知。于是我就在flickr上面查找关于VIM的图片。一开始找出大量的一个叫VIM的女人的 图片。晕死。不过经过几页之后我不烦辛苦的查找。我终于找到这张图片的出处。于是就找到他的博客。 于是就用上了这个插件。于是就喜欢上这个插件,于是就来写博客推荐。晕死我的唠叼没有?哈哈哈! 好废话说完了! 这个插件可以帮助vim建立类似IDE中一个文件列表的方式来管理源代码文件。为避免重复劳动,先引用 ericsk博客上的介绍文字: 在命令模式下,你得先用 :WsOpen 來建立一個新的 workspace ,之後便可以使用 :WsAddGroup 或 :WsAddFile 來建立 group 或加入檔案。切換 workspace 及編輯區只要使用 Ctrl+w w+ 或 – 來折疊列表。而在列表中可以直接在檔名前按 enter 便可以在右方編輯區開啟檔案了 就可以了。而在 group 上可以按 知道大概了吧,建立了新的workspace后,它就是把你的源文件列表写入到一个文件中。我建议你命名它的 后缀为vws。在这个workspace框中可以使用?来查找它的命令帮助。其中快捷键af是:WsAddFile, ag是 :WsAddGroup, 这两个快捷键方便过打命令吧。还有,它支持通配符,因此你可以使用 *.c 的方法把当前 路径下的dot C 文件一次性加入。 在文件名上按enter是打开这个文件,上面已经说过了,如果按o则可以 分割窗口打开文件。后来我竟然发现它没有设置在新标签页打开文件。于是我更改了一下这个插件,增加了 按O(是大写的)则在新标签页打开文件。 总结来说这是挺方便的插件。把VIM做的更类IDE了。你只需要要花五分钟的时间就能熟习它。 官方下载地址: workspace manager 有兴趣我增加打开新标签页的修改版的下载地址:workspace manager 下载后只将文件放入相应目录则可。 [...]
vim技巧之取词翻译II
星期日, 十二月 3rd, 2006我在九月份的时候搞过一个vim调用sdcv来实现取词翻译的。但是很简陋,是实现外部命令。其实 当时就想着可不可开个临时窗口来显示结果的。不过当时对于vim的脚本编写不熟。没搞成。后来 在网上找到一个已经实现了的取词翻译技巧。特此引用之,为推广。 作者是opera的博客云一样的梦 , 实现的技巧为vim中使用Stardict. 它实现后的图片: 具体实现请参看上面链接中的文章。其实还有gvim版本的tooltip实现,鼠标指定就跳出翻译结果。 这个功能也许更酷。 为尊重作者的劳动,转载省略。。。。 请大家看文章后跳转回来。我这里说两点改进。 作者是把函数加入到~/.vimrc中。这样会使配置文件比较混乱。可以把函数实现写到一个文件中,名 为sdcv.vim, 将文件存到 ~/.vim/plugin 中,这样更方便。 另,作者是在左边打开临时窗口的。如果大家想在右边打开临时窗口的话,将函数中 25vsp diCt-tmp 一句 更改成 botright vertical 25split diCt-tmp
vim技巧之语法高亮加强
星期四, 十一月 9th, 2006在用vim编写C或者C++程序时知道有语法高亮这回事吧。关键字,数字,宏定义,注释等都有 各自不同的颜色。这利于程序的美观与阅读。 在某些时候我们会有需要对一些特定的字词也显示出不同的颜色。使程序更利于我们阅读。如在写GTK+的 程序时,我们也许想令 gint , gpointer , gchar 这些变量也成为关键字的颜色。甚至GtkWidget也能变一变颜色。 那我们开始做之前也说明一些东西。本文不对语法加亮做过深的探讨。只达到前面的需求目的。更多的知识 可以参考vim的使用手册。 语法高亮对于语言是有针对性的。定义各种语言的语法高亮文件放在系统vim目录的 syntax里,在ubuntu中是 /usr/share/vim/vim70/syntax 目录。 c.vim 是定义C语言语法高亮的文件。 我们要做的是增加语法高亮的关键字而已。因此可以在家目录下面的 .vim目录下面建立syntax目录。(如 已经有则不用再建立) 在此目录下新建文件c.vim 。文件输入以下内容: “Vim syntax file “Language: C/GTK+ ” Maintainer: lerosua ” Last Change: 2006 Nov 9 ” Remark: Included by the C syntax. if exists(“b:current_syntax”) finish endif syn keyword gType gint gpointer gchar gboolean [...]
VIM技巧:VIM里快速翻译单词
星期二, 九月 12th, 2006本人当然不只是用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 [...]
