下面展示怎么将Vim配置成Python IDE。

需要的vim插件


1. ctags 下载地址:http://ctags.sourceforge.net/

首先解压,然后./configure,make,make install,编译后会生成可执行文件ctags,将其加入PATH。(ubuntu默认已安装或sudo apt-get install ctags)

一般在要建立标签的目录下运行 ctag -R,就会在该目录下生成标签文件tags。这里不用每次手动生成tags,一般和taglist一起配合使用,配置见下面。

2.

taglist 下载地址:

http://vim.sourceforge.net/scripts/script.php?script_id=273


將taglist.vim解压到 /usr/share/vim/vim73/plugin,taglist.txt解压到 /usr/share/vim/vim73/doc


在vim打开一个py文文件,在命令模式输入:TlistToggle,就可以看到function和class列在左边的window了.

在函数名上按<Ctrl+]>既可跳到定义处,按<Ctrl+o>或<Ctrl+t>可跳回。

窗口间切换可按<Ctrl+w+w>或者<Ctrl+jkhl>。

编辑用户目录下~/.vimrc(没有的话自己创建一个),添加:


let g:ctags_statusline=1
let generate_tags=1
let Tlist_Use_Horiz_Window=0
map <F4> : TlistToggle<cr> 
let Tlist_Use_Left_Window=1
let Tlist_Compact_Format=1
let Tlist_Exit_OnlyWindow=1
let Tlist_GainFocus_On_toggleOpen=1
let Tlist_File_Fold_Auto_Close=1 
let Tlist_GainFocus_On_ToggleOpen = 1

3.

NERDTree 下载地址:

http://www.vim.org/scripts/script.php?script_id=1658


NERD_tree.vim放在/usr/share/vim/vim73/plugin,NERD_tree.txt放在/usr/share/vim/vim73/doc。

在命令行输入:NERDTree,目录里的文件就在左边窗口了.可作为程序项目的管理.

在.vimrc 加入:

map <F3> :NERDTreeToggle<CR>

就可以用 F3 切换 NERDTree


4. pydiction 下载地址:http://www.vim.org/scripts/script.php?script_id=850 按tab键自动补全

解压后将complite-dict和python.py放到/usr/share/vim/vim73/ftplugin/pydiction/里面,如果没有pydiction目录,自己建一个。将python_pydiction就放在/usr/share/vim/vim73/ftplugin/里面。

5. 缩进 下载地址:http://www.vim.org/scripts/script.php?script_id=974 解压后放到/usr/share/vim/vim73/indent/

在.vimrc加入

setsmartindent
settabstop=4
setshiftwidth=4
setexpandtab
filetype plugin indent on

6. python.vim 下载地址:http://www.vim.org/scripts/script.php?script_id=790 语法高亮

放到/usr/share/vim/vim73/syntax 目录下,在.vimrc加入

syntax on

设置代码折叠

按<za>在“+”处展开或折叠,<zn>全部展开

set foldmethod=indent

.vimrc文件的完整配置如下:

" 在状态栏显示函数
let g:ctags_statusline=1
" 自动运行脚本ctags
let generate_tags=1
" 将taglist显示在垂直窗口
let Tlist_Use_Horiz_Window=0
" 按功能键 F4 就可以切换到Taglist
map <F4> : TlistToggle<cr>
" taglist的其他设置
let Tlist_Use_Left_Window=1
let Tlist_Compact_Format=1
let Tlist_Exit_OnlyWindow=1
let Tlist_GainFocus_On_toggleOpen=1
let Tlist_File_Fold_Auto_Close=1
let Tlist_GainFocus_On_ToggleOpen = 1

" 按F3切换树形目录
map <F3> :NERDTreeToggle<CR>

" python语法补全
let g:pydiction_location="/usr/share/vim/vim73/ftplugin/pydiction/complite-dict"

" 按F2选择行号显示
nnoremap <F2> :set nonumber!<CR>

"设置颜色主题,常用为desert
colorscheme desert

"检测文件类型,加载ftplugin子目录下的对应插件和indent子目录下的对应缩进设置
filetype plugin indent on 

"不要vim模仿vi模式,建议设置,否则会有很多不兼容的问题
set nocompatible    

"打开高亮
syntax on   

"设置代码折叠.za在“+”处展开或折叠,zn全部展开
set foldmethod=indent 

" 显示行号
set number
"启用鼠标
set mouse=a 

set autoindent  "自动缩进,即每行的缩进与上一行相等
set smartindent "智能缩进
set tabstop=4    "设置tab为4个空格
set shiftwidth=4 "设置缩进宽度为4	
set softtabstop=4 "Backspace一次删除4格
set expandtab	"将tab制表符转换为空格,打印输出更好看

" 设置文件编码,支持中文
set fileencodings=utf-8,gbk 
" 按F12执行python文件
map <F12> :!/usr/bin/python %
" 设置Vim窗口大小 
set lines=30 columns=100

参考自 


http://blog.sina.com.cn/s/blog_4dda073c0100wire.html


http://www.mikeshi.me/wordpress/?p=281


另外将Vim配置成C/C++开发环境可参考

http://blog.chinaunix.net/uid-23089249-id-2855999.html