Chinaunix首页 | 论坛 | 博客
  • 博客访问: 100793
  • 博文数量: 52
  • 博客积分: 2095
  • 博客等级: 大尉
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-08 13:29
文章分类

全部博文(52)

文章存档

2010年(1)

2009年(24)

2008年(27)

我的朋友

分类:

2009-04-28 17:17:15

又花了时间来玩vim,程序没写,工具倒是搞熟了,不得不说有些本末倒置。vimrc配置文件当然是参考那个最强的版本。大概能搞明白里面的内容,有点小修改。最近用的插件如下。

color_sample_pack.vim
这个纯粹是用来选语法高亮的,内置了上百种颜色主题,不用再去一个个下载了。对喜欢美化的人士必不可少啊,一个工具从此变成了一种艺术。其实就实用来说一两个主题就够了,我也是用的大多数都喜欢的desert。

DoxygenToolkit.vim
用来生成Doxygen形式的注释,光标移到函数定义那一行,然后:Dox就出现了名称和参数的模版,可以填入信息,还有其他:Dox*等命令可以插入文档名称作者等注释,还有其他高级功能,我是用不上的。

getscriptPlugin.vim
用来自动下载最新版本的插件,用的机会其实不多。

jcommenter.vim
插入java的标准注释,也很方便。在插件中可以修改快捷键,也可以再vimrc中映射。vimrc中的设置:
   autocmd FileType java source $VIMRUNTIME/plugin/jcommenter.vim
   autocmd FileType java let b:jcommenter_class_author='Yourname'
   autocmd FileType java let b:jcommenter_file_author='Yourname'
   autocmd FileType java map :call JCommentWriter()
   "Compile and Run
   autocmd FileType java map :w!:!javac %&&java %:r
光标移到class定义或函数定义上用F3就可以插入注释,在文件第一行还可以插入文件注释。最后是我加的按F5编译运行java程序。其他语言也可以这样运行。%号表示当前文件,%:r表示没有扩展名。

minibufexpl.vim
这个是很古老的插件,就是可以在旁边显示一个分栏,内容是缓冲区中的文件,也就是打开的多个文件。

mru.vim
这个小插件用得比较多,显示最近编辑的文件然后打开。:mru即可启动,作个键映射就更方便:
   """"""""""""""""""""""""""""""
   "MRU plugin
   """""""""""""""""""""""""""""
   nmap :MRU

NERD_tree.vim
看着很强大的一个文件浏览器,就是在vim旁边加上一个资源管理器。有完整的帮助文档。

taglist.vim
没什么好说的,编程必备。
   """"""""""""""""""""""""""""""
   " Tag list (ctags) - not used
   """"""""""""""""""""""""""""""
   let Tlist_Ctags_Cmd = "/usr/bin/ctags-exuberant"
   let Tlist_Sort_Type = "name"
   let Tlist_Show_Menu = 1
   map t :Tlist

comments.vim
还有个NERDComment,看着很强大,后来还是觉得这个小巧的更好用。normal模式visual模式下光标所在行或多行,点快捷键就可注释掉,当然也可以反操作。

snippetsEmu
现在分成了主文件和bundle文件两部分。就是快速生成代码片段,很cool。比如c语言打了for再按tab键就可以扩展成循环的标准形式,再继续按tab键编辑其中的各项。支持多种语言,能自定义模版。

还有涉及语言自动完成的插件不写了,无非是xxxcomplete之类,很多Ubuntu下的vim都带了。就是要设置一下,比如在vimrc中加入:
   autocmd FileType python set omnifunc=pythoncomplete#Complete
   au FileType python set completefunc=pythoncomplete#Complete
Supertab也是个好用的补全插件,不用再按Ctrl+其他很多键了,免去记忆繁多的补全按键组合。只是这个也是用tab键,和snippetsEmu有冲突。可以改热键,我改了有问题。其实补全用得不算多,主要就是满足心理需要。。。



vimrc完全是一门语言了,变量函数都可以定义,甚至还有强人写俄罗斯方块插件。学到了一些命令用法,还有些不太明白。

map用来作键映射,imap是插入(insert)模式下才映射,同理还有nmap,vmap。还有种inoremap形式的,i表示插入没错,nore表示什么我就不明白了,不晓得对应哪个单词,不重复的意思?
mapleader用来作映射快捷键使用。下面这段先是定义好leader。最后一句就是快速按下逗号再按w就可以保存了,很简单吧,可以定义很多类似的快捷键。
"Set mapleader
let mapleader = ","
let g:mapleader = ","
"Fast saving
nmap w :w!

很多插件的全局变量值可以在vimrc中设置,也可以在vimrc中调用插件中的函数。比如:
let g:snippetsEmu_key = ""

autocmd是相当常用的命令,简写作au。后面跟的是事件,只有事件发生才执行后面的命令。下面这句是FileType事件,只有"文件类型是java“这一事件发生了,java map :call JCommentWriter()这一句才执行。所以可以给不同类型文件设置同样的键映射等等。还有FileRead等等事件。
 autocmd FileType java map :call JCommentWriter()

可以利用映射来简化输入,达到模版的功能。下面第一句意思就是,在java文件的插入模式下,我快速输入$,s会马上变成String这个关键字。后面一句是我写的,也是慢慢改出来的,功能一看就知,试试更清楚。
   autocmd FileType java inoremap $s String
   autocmd FileType java inoremap $ma publicstaticvoidmain(String[]args){}kha

可以看到在vimrc中组合键和特殊键是用“<>”括起来的。常见的有:
 回车
   空格
   Ctrl加x
   Alt加x

阅读(922) | 评论(1) | 转发(0) |
0

上一篇:eclipse的uml插件green

下一篇:cpu保持在50%

给主人留下些什么吧!~~

chinaunix网友2009-05-19 00:34:44

mru确实不错,呵呵