又花了时间来玩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中组合键和特殊键是用“<>”括起来的。常见的有:
阅读(922) | 评论(1) | 转发(0) |