一.安装vim
sudo apt-get install vim
安装的vim版本是7.3
二.vim基础配置
在/etc/vim/vimrc中添加
set fileencodings=utf-8,gbk
set ambiwidth=double
“支持中文
set smartindent
set smarttab
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set backspace=2
set textwidth=79
"允许退格键删除和tab操作
" 启用鼠标
set mouse=a
" 启用行号
set nu
三.设置代码补全功能
1.利用omni-completion补全函数:在vimrc中插入:
filetype plugin on
autocmd FileType python set omnifunc=pythoncomplete#Complete
需要补全函数时,ctrl+x crtl+o
2.使用pydiction进一步补全代码
下载pydiction
#wget http://www.pythonclub.org/_media/python-basic/pydiction-1.2.zip
#unzip pydiction-1.2.zip
“ ~/.vim/after/ftplugin和~/.vim/tools/pydiction/目录默认不存在,需要自行创建
#cp pydiction-1.2/python_pydiction.vim ~/.vim/after/ftplugin
#cp pydiction-1.2/complete-dict ~/.vim/tools/pydiction/complete-dict
然后修改vimrc文件,加入一行
filetype plugin on
autocmd FileType python set omnifunc=pythoncomplete#Complete
let g:pydiction_location='~/.vim/tools/pydiction/complete-dict'
这时,按Tab键就可以补全代码
四.源代码查看功能
1.安装ctags
apt-get install ctags
安装完成后,把光标移动到某个元素上,CTRL+],就会跳转到对应的定义啦。CTRL+o可以回退到原来的地方。
2.安装taglist
#apt-get install vim-scripts
#apt-get install vim-addon-manager
# vim-addons install taglist
然后修改imrc文件
let Tlist_Auto_Highlight_Tag=1
let Tlist_Auto_Open=1
let Tlist_Auto_Update=1
let Tlist_Display_Tag_Scope=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Enable_Dold_Column=1
let Tlist_File_Fold_Auto_Close=1
let Tlist_Show_One_File=1
let Tlist_Use_Right_Window=1
let Tlist_Use_SingleClick=1
nnoremap <silent> <F8> :TlistToggle<CR> “设定F8为taglist开关
安装完成后,会在右边出现文件目录,使用Ctrl+w,再按w可以在code窗口和taglist窗口间切换。
3.安装NERD_TREE 目录树
下载地址:http://www.vim.org/scripts/script.PHP?script_id=1658
安装:解压文件到~/.vim/目录下
配置:修改vimrc文件:
map <F7> :NERDTreeToggle<CR>
imap <F7> <ESC>:NERDTreeToggle<CR>
则在VIM里按下F7就可打开关闭目录树。具体操作命令请查看插件doc目录下的帮助文件。
############################################################################
在 Linux 下对 vim 进行一些配置,使之支持如下特性:
1. 加强的 Python 语法高亮显示;
2. 对脚本、项目生成 ctag 序列;
3. 在 vim 中显示 ctag 序列列表;
4. Python 函数、类的自动补全;
5. Python 代码自动折叠;
一、准备
本文以 CentOS 5.6 为例对系统默认自带的 vim 进行配置。在开始之前需要确认系统已经安装了以下 RPM 包:vim-enhanced、ctags。
1. 配置 vim alias,使 vim 成为默认的 vi 编辑器:
# echo alias vi=\'vim\' >> ~/.bashrc
# source ~/.bashrc
2. 复制默认的 .vimrc 初始化文件:
# cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc
# vi ~/.vimrc #可以添加一些配置:
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent
set number
这样,我们就完成了对 vim 的一些前期准备。下面开始进行 vim Python IDE 环境的配置。
二、Python IDE 环境配置
1. 加强 Python 语法高亮显示
下载增强的 Python 语法高亮脚本最新版本:http://www.vim.org/scripts/script.php?script_id=790 下载后得到 python.vim。
# mv /usr/share/vim/vim70/syntax/python.vim /usr/share/vim/vim70/syntax/python.vim.ori
# cp python.vim /usr/share/vim/vim70/syntax/
2. 对脚本/项目生成 ctag 序列
进入到 python 程序脚本(项目)所在的目录,在该目录下执行:
# ctag -R *
会在当前目录下自动生成一个 ctags 文件,该文件记录了程序/项目的函数、类等的分析序列记录。有关 ctag 的详细用法请阅读 ctag 的 manpage。
3. 在 vim 中显示 ctag 序列列表
下载 taglist 插件:http://www.vim.org/scripts/script.php?script_id=273 下载后得到 taglist_45.zip。
# unzip taglist_45.zip
解压后得到两个文件:plugin/taglist.vim(taglist 插件)、doc/taglist.txt(taglist 帮助文件)
# cp plugin/taglist.vim /usr/share/vim/vim70/plugin/
# cp doc/taglist.txt /usr/share/vim/vim70/doc/
# vi #启动一个 vi 编辑器,并输入以下命令:
为了更方便的使用 tablist,我们还可以在 vim 中做一些设置:
# vi ~/.vimrc #添加如下指令:
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的。
let Tlist_Exit_OnlyWindow = 1 "如果 taglist 窗口是最后一个窗口,则退出 vim。
let Tlist_Use_Right_Window = 1 "在右侧窗口中显示 taglist 窗口。
当编辑程序代码文件时,可以在 vi 中输入 :Tlist 来启动 taglist 窗口。
下面是一些 .vimrc 中有关 taglist 的配置参数:
Tlist_Auto_Open=1 "在启动 vim 后,自动打开 taglist 窗口。
Tlist_File_Fold_Auto_Close=1 "taglist 只显示当前文件 tag,其它文件的tag折叠。
Tlist_WinHeight & Tlist_WinWidth "可以设置taglist窗口的高度和宽度。
Tlist_Use_Horiz_Window=1 "设置taglist窗口横向显示。
在 taglist 窗口中,可以使用以下操作指令:
: 跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
o: 在一个新打开的窗口中显示光标下tag
: 显示光标下tag的原型定义
u: 更新taglist窗口中的tag
s: 更改排序方式,在按名字排序和按出现顺序排序间切换
x: taglist窗口放大和缩小,方便查看较长的tag
+: 打开一个折叠,同 zo
-: 将tag折叠起来,同 zc
*: 打开所有的折叠,同 zR
=: 将所有 tag 折叠起来,同 zM
[[: 跳到前一个文件
]]: 跳到后一个文件
q: 关闭 taglist 窗口
: 显示帮助
4. Python 函数、类的自动补全
CentOS 5.6 自带的 vim7.0 已经支持了 PHP、Python、Ruby 等多种语言的自动补全,只需进行开启即可。
开启 Python 自动补全支持:
# echo 'autocmd FileType python set omnifunc=pythoncomplete#Complete' >> ~/.vimrc
这样,当编写 python 脚本时,使用 + x + o 即可打开自动补全菜单,在顶部,还有对应的说明帮助信息 (docstring)。
vim 自带的 pythoncomplete.vim 虽然很方便,还支持 docstring,但是有时并不能方便的列出一些函数的自动补全。所以,懒人可以继续安装 Pydiction 插件:
下载 Pydiction 插件:http://www.vim.org/scripts/script.php?script_id=850 下载后得到 pydiction-1.2.zip。
# unzip pydiction-1.2.zip
# cp python_pydiction.vim /usr/share/vim/vim70/ftplugin
# mkdir /usr/share/vim/vim70/pydiction
# cp complete-dict pydiction.py /usr/share/vim/vim70/pydiction/
# vi ~/.vimrc #增加如下两行:
let g:pydiction_location = '/usr/share/vim/vim70/pydiction/complete-dict'
let g:pydiction_menu_height = 20
打开 python 脚本文件,在编写 python 程序时,按 TAB 键即可激活自动补全菜单。
5. Python 代码自动折叠
下载 python_fold 插件:http://www.vim.org/scripts/script.php?script_id=515 下载后得到 python_fold.vim。
# cp python_fold.vim /usr/share/vim/vim70/plugin/
# vi ~/.vimrc #添加:
set foldmethod=indent
这样,再编辑 python 文件时会发现代码已经作了折叠处理。下面是有关折叠的一些命令:
zo: 打开光标位置的折叠代码;
zc: 折叠光标位置的代码;
zr: 将文件中所有折叠的代码打开;
zm: 将文件中所有打开的代码折叠;
zR: 作用和 zr 类似,但会打开子折叠(折叠中的折叠);
zM: 作用和 zm 类似,但会关闭子折叠;
zi: 折叠与打开操作之间的切换命令;