1. 首先下载taglish,最简单的方法是:curl http://www.vim.org/scripts/download_script.php?src_id=7701 > ~/.vim/taglist.zip
2. cd~/.vim/; unziptaglist.zip
3. vi ~/.vimrc 在文件末尾添加如下配置
nmap <F8> :TlistToggle<CR>
let Tlist_Close_On_Select = 1
let Tlist_Use_Right_Window = 1
let Tlist_GainFocus_On_ToggleOpen = 1
4. 打开my.cpp文件,摁F8就能看到taglist了 :)
最终效果:
做完这些后,突然想弄明白:vim插件运作机制是怎么样的呢?学习了一下写插件的过程,有如下收获,记录之。
首先,vim内建支持一套脚本语言。能够解释形如
syntax match longword1 “\w\{14,}”
highlight link longword1 Error
的内容,更复杂的如(from c.vim)
let s:C_MakeCmdLineArgs = "" " command line arguments for Run-make; initially empty
function! C_MakeArguments ()
let s:C_MakeCmdLineArgs= C_Input("make command line arguments : ",s:C_MakeCmdLineArgs )
endfunction " ---------- end of function C_MakeArguments ----------
"
function! C_Make()
" update : write source file if necessary
exe ":update"
" run make
exe ":!make ".s:C_MakeCmdLineArgs
endfunction " ---------- end of function C_Make ----------
在这套内建语言的基础上,vim还支持用python和perl来编写插件。个人猜测基本流程为:
vim读取插件文件的内容,解释文件头部文本,提取出python部分的文件另存为somefile.py,然后通过解析得到的参数调用somefile.py。somefile.py内部会回调vim语言包提供的一些函数,与vim进行通信,如:返回处理结果等。
vim之所以如此强大,与其丰富的插件支持能力是分不开的。《架构之美》中提到的emacs、firefox也是插件支持中的佼佼者。正是由于对插件有着丰富的支持,才使得他们拥有无限的可能。
支持插件,粗略的分有两种模式,一种是接口级别的紧耦合,一种是脚本级别的松耦合。一些C语言的DLL插件、Eclipse插件是前者的代表,vim script、JavaScript是后者的代表。
还有个比较有意思的系统,做站长的都熟悉,WordPress。这是一款php写的博客系统,支持用户自定义主题插件。WordPress的这一功能使得他技压群雄,成为博客系统中当之无愧的老大,为人们提供了无限多种博客风格,提供了无限多种建站功能,如SNS功能、图片浏览功能、CMS功能、支付功能,甚至有人基于WordPress写出了网上商城系统。php的这种插件机制之所以比较有意思的地方有两点:第一,php本身就是一种脚本;第二,采用的是接口级别耦合。可以说是融合了两种模式的长处。由此也可以看出,使用一种脚本来写系统,只要架构安排得合理,是比较容易实现插件机制的。
参考:
分享到:
相关推荐
taglist plugin for vim taglist plugin for vimtaglist plugin for vimtaglist plugin for vim
vim taglist插件,解决在中文路径下,taglist无法正常工作的情况
Vim Taglist plugin manual
vim plug taglist cscope,vim plug ubuntu
Refresh the taglist window folds after entering a tab. Escape special characters like backslash in the tag name when saving a session file. Add an internal function to get and detect file types.
vim-plugin插件
add wintagexplorer.vim , echofunc.vim , vimrc
taglist vim插件
配置vim的Tlist,将此解压的两个文件夹放到vimfiles的文件夹下,即可使用Tlist命令
自己用的vim plugin: bufexplorer.vim genutils.vim grep.vim lookupfile.vim minibufexpl.vim SuperTab.vim taglist.vim visualmark.vim winfileexplorer.vim winmanager.vim wintagexplorer.vim
taglist plugin for vim document
acp.vim code_complete.vim cscope_maps.vim taglist.vim
将vim修改为ide常用插件:a.vim , grep.vim, visual mark.vim, supertab.vim, taglist.vim, winmanager.vim, minibufexpl.vim
amoscykl博主的Vim的终极配置方案,完美的写代码界面! ——.vimrc这篇帖子 ,还有我自己的修改和...YouCompleteMe没有成功,需要的还是要自己摸索,乱码问题 自己搜索vim-airline安装字体 有现成的帖子 我就不重复了
VimPlugin.rar VimPlugin.rar VimPlugin.rar
解压上传后执行rpm -ivh *.rpm --force --nodeps即可安装vim成功,内置所有vim所需的rpm依赖包
vim_plugin: neocomplcache-7.0.zip nerdtree.zip php-doc.vim vim.png Vim基础命令表.doc ZenCodingCheatSheet.pdf zencoding-vim.zip
vim-gvim-plugin -- taglist_45 winmanagervisualmark a.vim grep.vim
VIM Plugin,DOC及配置文件打包。 包括NERDTree, Taglist, CTags等。 可做代码编辑及浏览。