win7 + gvim 打造Python IDE
考虑到有的软件下载地址不能正确访问(原因你懂的),本文中用到的所有软件,均可在https://pan.baidu.com/s/1nuWCoi9下载,在你看到这篇文章时,它们可能都有新版本了,因此下面正文里面会给出具体的地址,以便有需求的人根据需要下载其他版本。
1. 下载gvim
虽然vim的官网是www.vim.org,但是这里面找到的版本,有的可能没有编译python支持。
因此推荐到https://tuxproject.de/projects/vim下载。这里我们下载x64的。
下载后的文件是complete-x64.7z 解压,放到C:里面(也可以放到其他目录)。然后运行里面的gvim.exe即可启动。如果启动时报缺少vcruntime140.dll,可以下载vc_redist.x64.exe安装后即可正常启动gvim。
1.1 查看gvim的版本
1.2 确认vim的主目录和运行目录
执行如下命令,查看vim的主目录和运行目录,大部分情况下他们是一样的:
echo $VIM
echo $VIMRUNTIME
这个目录正是vim所在的目录(废话^_^)。
1.3 查看gvim是否支持python
执行如下命令:
:version
即可查看当前vim的版本
注意红色框里面的两行,python/dyn和python3/dyn前面是 +说明这个版本的vim已经编译了对pyhon(不带版本号默认就是python2)和python3的支持。
1.4 查看gvim支持的python版本
执行如下命令:
:python3 print(123)
由于现在还没有安装python,因此会报错,注意错误信息里面的python36.dll
也就是说这个版本的vim编译的时候是支持python3.6的,因此我们要安装与之对应的python版本。
如果这里安装的是python3.5,那么将来调用python编译器的时候仍然会报这个错误,这也是很多 人配置不成功的原因,切记切记。
注意: 如果直接执行
:python print(123)
会默认调用python2,这也是为什么很多人装了python3后,仍然提示找不到python的原因。
2. 安装对应版本的python
2.1下载对应的python
首先去官网https://www.python.org/ftp/python/3.6.0/下载python-3.6.0-amd64.exe(主版本是3.6就行了,最后的修订版本可以不是0)
2.2 安装第1步
勾选下面的"Add Python 3.6 to PATH",然后选择"Customize installation"
2.3 安装第2步
全部勾选,点击Next
2.4 安装第3步
勾选上面五项(下面的也可以勾),选择安装的位置,然后点Install开始安装
2.5 安装第4步
没有错误的话,会出现安装成功。
2.6 打开python
从开始菜单里面,选择IDLE (Python 3.6 64-bit)
2.7 检查python是否正确安装
输入一条代码,查看python是否正确安装(99.99%会正确,但不排斥0.01%的异常可能)
3. 再次检查是否生效
安装好python3.6以后,再次执行:
python3 print("Python3.6 is OK now")
就会发现没有报错,成功执行了。
4. 安装git
4.1 下载地址
下载地址为https://github.com/git-for-windows/git/releases
这里选择了截止目前为止最新的版本2.15.0-rc2(也可以根据需要采用其它版本)
有两种方式,一种是下载exe文件,然后安装,具体下载地址为:
https://github.com/git-for-windows/git/releases/download/v2.15.0-rc2.windows.2/Git-2.15.0.rc2.windows.2-64-bit.exe
另一种是下载解压配置后即用的“绿色版” ,具体下载地址为:
https://github.com/git-for-windows/git/releases/download/v2.15.0-rc2.windows.2/PortableGit-2.15.0.rc2.windows.2-64-bit.7z.exe
4.1.1 exe安装
-
安装git第1步
-
安装git第2步
-
安装git第3步
-
安装git第4步
-
安装git第5步
-
安装git第6步
-
安装git第7步
-
安装git第8步
-
安装git第9步
-
安装git第10步
- 检查git是否安装成功
从开始菜单或桌面快捷方式选择git,然后执行git命令,出现下图的提示,说明git安装安装成功。
4.1.2 绿色版
如果下载的是proable版的git,可以通过下面方法安装。
第1步,双击下载的文件PortableGit-2.15.0.rc2.windows.2-64-bit.7z.exe,解压到某个位置,比如C:\ProtableGit
解压后如下:
第2步,配置环境变量,在我的电脑上右键,选择“属性”
![安装git3.jpg]( http://upload-images.jianshu.io/upload_images/2891888-2ba68400bce2e307.jpg?
imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
然后依次选择 "高级系统设置" -> "环境变量" ,双击 "Path" ,在弹出的提示框最右侧,加入
;C:\ProtableGit\bin
然后依次保存。
第3步,检查配置是否正确,在命令提示符里面输入
git --version
如果正确显示git的版本,说明以上配置正确。
5 配置vim
5.1 建立配置文件vimrc
在gvim目录下面,新增vimrc文件(注意windows下面不要带任何扩展名)
5.2 添加基础配置
"=============== 基础配置 =================="
"默认显示行号
set nu
6. 安装vim-plug插件
6.1 下载vim-plug
https://github.com/junegunn/vim-plug
解压已经下载的vim-plug-master.zip文件,把里面的plug.vim文件放到C:\complete-x64\autoload里面,这样以后vim启动时,就会自动加载这个插件。
6.2 安装vim-plug
首先在vim中执行命令
:echo $VIM
用来确认vim的主目录(大部分情况下是和$VIMRUNTIME目录是一样的),本例中应该是C:\complete-x64,然后在这个目录下面创建新目录vimplugged (这个目录名称可以自己定义,这里的名称仅作示例)
6.3 选择插件
下面先给出配置,然后解释,这里只需要9个插件。
打开配置文件C:\complete-x64\vimrc, 追加如下内容:
"=============== 配置 vim-plug =============="
"----- vim-plug 开始 -----
"
"指定vim-plug下载的插件存放的目录
call plug#begin("$VIM/vimplugged")
"--- 下面是需要安装的插件的列表 ---
"python自动补全插件
Plug 'davidhalter/jedi-vim'
Plug 'Shougo/neocomplete.vim'
"文件浏览窗口
Plug 'vim-scripts/winmanager'
Plug 'vim-scripts/taglist.vim'
"经典的monokai主题
Plug 'sickill/vim-monokai'
Plug 'tmhedberg/SimpylFold'
"快速切换主题的插件
Plug 'chxuan/change-colorscheme'
" airline = powerline + minibufer
Plug 'bling/vim-airline'
Plug 'vim-airline/vim-airline-themes'
"debug "
call plug#end()
" ----- vim-plug结束-----
下面解释一下这一段的内容:
- 双引号开头的是注释
- call plug#begin("$VIM/vimplugged") 代表调用vim-plug这个插件,并且指定存放插件的目录为$VIM下面的vimplugged
- 最后的call plug#end() 表明调用vim-plug结束,这两行是必须
- 每一行Plug代表一个插件,规则是一个完整的github地址,去掉开头的https://github.com,比如说Plug 'bling/vim-airline' 这个,把后面的bling/vim-airline前面加上https://github.com,变成
https://github.com/bling/vim-airline在浏览器里面打开这个地址,没错,正是这个插件在github里面的地址。
也就是说如果在github里面找到了某个插件的完整url地址https://github.com/abc/xyz 想用vim-plug安装时,只需要在vim-plug的begin和end之间,加入一行Plug "abc/xyz"即可。
6.4 安装插件
配置完成后,保存,然后执行下面命令即可开始安装:
:PlugInstall
出现Finishing ... Done! 说明所有插件已经安装完成了,注意查看是否有报错的情况:
即可安装上面配置的所有插件,打开本地目录vimplugged,就会发现刚才配置的所有插件都被下载到这里了:
其实vim-plug工作原理就是根据配置,自动调用git clone依次克隆每个插件到本地的目录vimplugged(之前配置的目录)当中。因此每一行Plug后面的内容也就是每个插件在github上完整的url地址去掉开头的部分。仍然以上面的bling/vim-airline为例,打开git使用命令
git clone https://github.com/bling/vim-airline
就会把这个插件克隆到本地,然后和vimplugged里面的对比,他们是一模一样的。
这里仅说明vim-plug怎么用,更多资料请查看vim-plug页面.
6.5 配置插件
6.5.1 配置python
在配置文件vimrc里面,追加如下内容
" ----- 调用python -----
"按 Ctrl + F5 调用当前脚本
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 :!python %
这样以后可以在编辑代码后直接按Ctrl+F5来执行脚本(当然你也可以设置为其他快捷键)。
下面是一个脚本的执行示例:
6.5.2 自动补全
之前安装的jedi插件即为自动补全插件,默认是启动,效果如下:
- 这里粉色背景的,即为自动补全的提示,按Ctrl+N选择下一条,按Ctrl+P选择上一条,按Enter键盘可以补全当前内容。
- 注意这里我放了两个图,第一个是调用python内置模块时的自动补全;第二个是调用自定义类的自动补全。有的IDE或插件号称可以自动补全,但是只能补全内置模块,不能补全自定义类。
6.6 再接再厉,美化界面
目前这个配置总算能将就着用了,但是界面看起来还不太入眼,完全不能满足装逼的需求啊(^o^)。
下面进行基础调节。
6.6.1 开启当前行高亮,关闭默认代码折叠,设置默认编码
编辑vimrc文件,在基础配置里面,增加下面内容:
6.6.2 隐藏/显示菜单栏
vim大部分时间不需要用鼠标点点点,因此菜单栏可以隐藏掉;为了灵活起见,设置按F2显示或隐藏菜单栏。
修改配置文件vimrc,追加如下内容:
"设置成默认不显示菜单栏和工具栏,如果是 +=m +=T则是默认显示
set guioptions-=m
set guioptions-=T
"按F2显示或隐藏菜单栏
map :if &guioptions =~# 'T'
\set guioptions-=T
\set guioptions-=m
\else
\set guioptions+=T
\set guioptions+=m
\endif
保存后退出,再次启动vim就会发现不同:
注意:要使用这个功能,必须在配置文件最开始的地方加上set nocompatible 否则会报错:
6.6.3 设置主题
编辑文件vimrc,追加如下内容:
" ----- 设置主题 -----
syntax enable
"默认设置为monokai,也可以设置为其它主题
colorscheme monokai
"set background=dark
"set background=light
"colorscheme solarized
"
"设置字体和大小,根据自己的需要调整
set guifont=courier_new:h12
" 快速切换主题,按F10切换下一个,按F9切换上一个
map :NextColorScheme
imap :NextColorScheme
map :PreviousColorScheme
imap :PreviousColorScheme
- vim的主题存放位置为C:\complete-x64\colors里面,可以根据自己的需要选择
- 切换主题,也可以通过菜单栏里面:编辑->配色方案来选择
下面是几个主题的预览图:
7. 显示文件列表
使用winmanager可以浏览目录、文件,结合taglist还可以查看当前文件的结构,windows上taglist必须调用ctags.exe才能工作,因此需要先设置ctags。
到http://ctags.sourceforge.net 找到windows对应的文件(如下图所示)下载:
下载后得到 ctags58.zip这个文件,解压,只需要把里面的ctags.exe拿出来,放到系统的PATH里面的任意一个目录里面就行,这里我们把它放到C:\Python36里面 (前面安装python时,把这个目录加入到了PATH里面):
然后编辑配置文件vimrc,追加下面几行:
" 执行命令隐藏/显示文件窗口
let g:winManagerWindowLayout='FileExplorer|TagList'
let g:AutoOpenWinManager = 1
nmap wm :WMToggle
保存后退出,再次启动vim,按wm即可调出winmanager:
注意(下面两个地方搞了一阵没搞定,谁知道怎么解决记得通知我一声啊,有劳有劳):
- 网上不少地方说使用g:AutoOpenWinManager = 1 可以使vim启动时自动打开winmanager,但是这里整合了taglist好像就不行了;
- 并且修改winmanger.vim里面,把wincmd H改成wincmd L也并不能把winmanager显示在右侧
8. 优化airline
aireline同时提供了 powerline和minibufer,在配置文件vimrc里面追加如下内容:
" 配置airline
" 设置airline的主题
let g:airline_theme="molokai"
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#buffer_nr_show = 1
" 按ctrl+tab 或作者ctrl+shift+tab在打开的文件之间切换
nnoremap :bn
nnoremap :bp
保存后再启动vim,打开多个文件,效果下图:
- 上面显示的是打开的文件列表,实现的是原来的minibufer的功能,按ctrl + tab可以在不同的文件之间切换,按ctrl+shift+tab可以倒叙切换
- 下面显示的是当前文件的状态,包括当前的模式、文件名、文件类型、编码,当前光标所在行在文件所有行中的百分比、当前光标所在的行和列
9. 总览
下面是最终的配置文件内容:
"=============== 基础配置 =================="
set nocompatible
"默认显示行号
set nu
"高亮显示当前行
set cursorline
"设置默认代码为utf-8
set encoding=utf-8
"关闭默认的代码折叠
set nofoldenable
"=============== 配置 vim-plug =============="
"----- vim-plug 开始 -----
"
"指定vim-plug下载的插件存放的目录
call plug#begin("$VIM/vimplugged")
"--- 下面是需要安装的插件的列表 ---
"python自动补全插件
Plug 'davidhalter/jedi-vim'
Plug 'Shougo/neocomplete.vim'
"文件浏览窗口
Plug 'vim-scripts/winmanager'
Plug 'vim-scripts/taglist.vim'
"经典的monokai主题
Plug 'sickill/vim-monokai'
Plug 'tmhedberg/SimpylFold'
"快速切换主题的插件
Plug 'chxuan/change-colorscheme'
" airline = powerline + minibufer
Plug 'bling/vim-airline'
Plug 'vim-airline/vim-airline-themes'
"debug "
call plug#end()
" ----- vim-plug结束-----
" ----- 调用python -----
"按 Ctrl + F5 调用当前脚本
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 :!python %
" ----- 显示和隐藏菜单栏 -----
""设置成默认不显示菜单栏和工具栏,如果是 +=m +=T则是默认显示
set guioptions-=m
set guioptions-=T
""按F2显示或隐藏菜单栏
map :if &guioptions =~# 'T'
\set guioptions-=T
\set guioptions-=m
\else
\set guioptions+=T
\set guioptions+=m
\endif
" ----- 设置主题 -----
syntax enable
"默认设置为monokai
colorscheme monokai
"set background=dark
"set background=light
"colorscheme solarized
"
"设置字体和大小
set guifont=courier_new:h12
" 快速切换主题,按F10切换下一个,按F9切换上一个
map :NextColorScheme
imap :NextColorScheme
map :PreviousColorScheme
imap :PreviousColorScheme
" 执行命令隐藏/显示文件窗口
let g:AutoOpenWinManager = 1
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle
" 配置airline
" 设置airline的主题
let g:airline_theme="molokai"
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#buffer_nr_show = 1
" 按ctrl+tab 或作者ctrl+shift+tab在打开的文件之间切换
nnoremap :bn
nnoremap :bp
附录: 资源
- vim-plug常用操作
https://github.com/junegunn/vim-plug - jedi-vim常用操作
https://github.com/davidhalter/jedi-vim/ - vim上其它插件
https://vimawesome.com
我要偷个懒
如果你实在不想动手一步一步配置,那么下面是适合你的最懒方法:
- 配置好git
- 安装python36
- 下载上面共享地址中的gvim懒人版.zip,解压即用