最近迷恋上了Python, 让我强化C#以及.NET的计划又放缓了脚步。
Python的确很迷人, 功能也非常强大, 以后不管做哪方面的应用开发, python都将是一个利器。
同时还有一个利器就是Gvim, 一款风靡全球的编辑器, 他是Vim的跨平台版本。 众所周知, Linux的发行版中大部分都捆绑了vim, 为了支持windows,GVIM诞生了.
Gvim的功能一点都不会比Vim差, 这款与Emacs齐名的编辑器功能实在是太强大了, 虽然我才刚刚起步, 但是发现他要比很多代码编辑器功能好上很多。
由于Python现在的版本更新很快, 而Vim有可能不会支持一些更新, 所以就需要我们自己手动配置一些插件, 来完善Gvim对python的支持。
本文参考了http://blog.youkuaiyun.com/chain2012/article/details/7445061 的配置方法。
首先去http://www.vim.org/下载Python相关插件, 可以在搜索框里直接搜索到:
1,python_fold 提供代码折叠功能
2,NERD_tree 提供查看文件折叠/展开列表功能
3,EnhCommentify 提供快速代码注释功能
4,taglist 提供源代码结构及函数,变量列表
5,Pydiction 提供Tab补全代码功能
然后最好先保存一下, Vim安装目录下的_vimrc文件, 以后可以进行恢复初始化配置。
上面几个插件的作用:
1.python_fold :提供代码折叠功能
配置方法: 在_vimrc文件里面添加 :
set foldmethod=
后面写你想设定的方式,主要有:
manual 手工定义折叠
indent 更多的缩进表示更高级别的折叠
expr 用表达式来定义折叠
syntax 用语法高亮来定义折叠
diff 对没有更改的文本进行折叠
marker 对文中的标志折叠
2.对NERD_tree的设置,我绑定到F2键
nmap <F2> :NERDTreeToggle<CR>
3.EnhCommentify :提供代码注释的功能。 将下载的文件放入Plugin文件夹。
4.taglist; 很有用的功能。 首先还是要去http://www.vim.org/下载一下插件Ctags, 推荐一篇相关的文章http://blog.youkuaiyun.com/bokee/article/details/6633193
在_vimrc文件里面添加:
"进行Tlist的设置
filetype on
let Tlist_Show_Menu = 1
"TlistUpdate可以更新tags
map <F3> :silent! Tlist<CR> "按下F3就可以呼出Taglist
let Tlist_Ctags_Cmd='ctags' "因为我们放在环境变量里,所以可以直接执行
let Tlist_Use_Right_Window=0 "让窗口显示在右边,0的话就是显示在左边
let Tlist_Show_One_File=1 "让taglist可以同时展示多个文件的函数列表,如果想只有1个,设置为1
let Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏
let Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动退出vim
let Tlist_Process_File_Always=0 "是否一直处理tags.1:处理;0:不处理
let Tlist_Inc_Winwidth= 0</span>
5.配置Pydiction自动tab代码补全
把python_pydiction.vim文件拷贝到../ftplugin中
把complete-dict拷贝到../tools/pydiction中
">filetype plugin on
let g:pydiction_location = “你的complete-dict文件的路径
let g:pydiction_menu_height = 20 </span>
6.配置Python解释器,绑定到F5运行,F6编译
">autocmd BufRead *.py set makeprg=python\ -c\ \"import\ py_compile,sys;\ sys.stderr=sys.stdout;\ py_compile.compile(r'%')\"
autocmd BufRead *.py set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
autocmd BufRead *.py nmap <F5> :!python %<CR>
autocmd BufRead *.py nmap <F6> :make<CR>
autocmd BufRead *.py copen "如果是py文件,则同时打开编译信息窗口 </span>