下面展示怎么将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