win7上把gvim配置为python IDE

win7 + gvim 打造Python IDE

考虑到有的软件下载地址不能正确访问(原因你懂的),本文中用到的所有软件,均可在https://pan.baidu.com/s/1nuWCoi9下载,在你看到这篇文章时,它们可能都有新版本了,因此下面正文里面会给出具体的地址,以便有需求的人根据需要下载其他版本。

software

1. 下载gvim

虽然vim的官网是www.vim.org,但是这里面找到的版本,有的可能没有编译python支持。
因此推荐到https://tuxproject.de/projects/vim下载。这里我们下载x64的。

下载gvim for windows.png

下载后的文件是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运行目录.jpg

这个目录正是vim所在的目录(废话^_^)。

1.3 查看gvim是否支持python

执行如下命令:

:version

即可查看当前vim的版本

查看是否支持python3.png

注意红色框里面的两行,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编译器的时候仍然会报这个错误,这也是很多 人配置不成功的原因,切记切记。

执行python3命令查看当前vim支持的python版本.jpg

注意: 如果直接执行 :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"


第1步

2.3 安装第2步

全部勾选,点击Next


第2步

2.4 安装第3步

勾选上面五项(下面的也可以勾),选择安装的位置,然后点Install开始安装


第3步

2.5 安装第4步

没有错误的话,会出现安装成功。


第4步

2.6 打开python

从开始菜单里面,选择IDLE (Python 3.6 64-bit)


打开IDLE

2.7 检查python是否正确安装

输入一条代码,查看python是否正确安装(99.99%会正确,但不排斥0.01%的异常可能)


检查

3. 再次检查是否生效

安装好python3.6以后,再次执行:

python3 print("Python3.6 is OK now")

就会发现没有报错,成功执行了。

python3环境成功.jpg

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安装

  1. 安装git第1步


    第1步
  2. 安装git第2步


    第2步
  3. 安装git第3步


    第3步
  4. 安装git第4步


    第4步
  5. 安装git第5步


    第5步
  6. 安装git第6步


    第6步
  7. 安装git第7步


    第7步
  8. 安装git第8步


    第8步
  9. 安装git第9步


    第9步
  10. 安装git第10步


    第10步
  11. 检查git是否安装成功
    从开始菜单或桌面快捷方式选择git,然后执行git命令,出现下图的提示,说明git安装安装成功。
git正常.jpg

4.1.2 绿色版

如果下载的是proable版的git,可以通过下面方法安装。
第1步,双击下载的文件PortableGit-2.15.0.rc2.windows.2-64-bit.7z.exe,解压到某个位置,比如C:\ProtableGit

配置git1.jpg

解压后如下:
安装git2.jpg

第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
然后依次保存。


安装git4.jpg

第3步,检查配置是否正确,在命令提示符里面输入
git --version

如果正确显示git的版本,说明以上配置正确。


安装git5.jpg

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结束-----

下面解释一下这一段的内容:

  1. 双引号开头的是注释
  2. call plug#begin("$VIM/vimplugged") 代表调用vim-plug这个插件,并且指定存放插件的目录为$VIM下面的vimplugged
  3. 最后的call plug#end() 表明调用vim-plug结束,这两行是必须
  4. 每一行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

插件安装中.jpg

出现Finishing ... Done! 说明所有插件已经安装完成了,注意查看是否有报错的情况:

插件安装完成.jpg

即可安装上面配置的所有插件,打开本地目录vimplugged,就会发现刚才配置的所有插件都被下载到这里了:

已下载的插件.jpg

其实vim-plug工作原理就是根据配置,自动调用git clone依次克隆每个插件到本地的目录vimplugged(之前配置的目录)当中。因此每一行Plug后面的内容也就是每个插件在github上完整的url地址去掉开头的部分。仍然以上面的bling/vim-airline为例,打开git使用命令

git clone https://github.com/bling/vim-airline

git clone插件.jpg

就会把这个插件克隆到本地,然后和vimplugged里面的对比,他们是一模一样的。

对比插件.jpg

这里仅说明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 <C-F5> :!python %<CR>

这样以后可以在编辑代码后直接按Ctrl+F5来执行脚本(当然你也可以设置为其他快捷键)。
下面是一个脚本的执行示例:

初次执行效果.jpg

6.5.2 自动补全

之前安装的jedi插件即为自动补全插件,默认是启动,效果如下:

自动补全1.jpg
自动补全2.jpg
  • 这里粉色背景的,即为自动补全的提示,按Ctrl+N选择下一条,按Ctrl+P选择上一条,按Enter键盘可以补全当前内容。
  • 注意这里我放了两个图,第一个是调用python内置模块时的自动补全;第二个是调用自定义类的自动补全。有的IDE或插件号称可以自动补全,但是只能补全内置模块,不能补全自定义类。

6.6 再接再厉,美化界面

目前这个配置总算能将就着用了,但是界面看起来还不太入眼,完全不能满足装逼的需求啊(^o^)。
下面进行基础调节。

6.6.1 开启当前行高亮,关闭默认代码折叠,设置默认编码

编辑vimrc文件,在基础配置里面,增加下面内容:


增加配置.png

6.6.2 隐藏/显示菜单栏

vim大部分时间不需要用鼠标点点点,因此菜单栏可以隐藏掉;为了灵活起见,设置按F2显示或隐藏菜单栏。
修改配置文件vimrc,追加如下内容:

"设置成默认不显示菜单栏和工具栏,如果是 +=m  +=T则是默认显示
set guioptions-=m
set guioptions-=T
"按F2显示或隐藏菜单栏
map <silent> <F2> :if &guioptions =~# 'T' <Bar>
        \set guioptions-=T <Bar>
        \set guioptions-=m <bar>
    \else <Bar>
        \set guioptions+=T <Bar>
        \set guioptions+=m <Bar>
    \endif<CR>

保存后退出,再次启动vim就会发现不同:

隐藏显示菜单栏和工具栏.jpg

注意:要使用这个功能,必须在配置文件最开始的地方加上set nocompatible 否则会报错:

Paste_Image.png

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 <F10> :NextColorScheme<CR>
imap <F10> <ESC> :NextColorScheme<CR>
map <F9> :PreviousColorScheme<CR>
imap <F9> <ESC> :PreviousColorScheme<CR>
  • vim的主题存放位置为C:\complete-x64\colors里面,可以根据自己的需要选择
  • 切换主题,也可以通过菜单栏里面:编辑->配色方案来选择
    下面是几个主题的预览图:
monokai主题.png

主题1.png

主题2.png

主题3.png

主题4.png

7. 显示文件列表

使用winmanager可以浏览目录、文件,结合taglist还可以查看当前文件的结构,windows上taglist必须调用ctags.exe才能工作,因此需要先设置ctags。
http://ctags.sourceforge.net 找到windows对应的文件(如下图所示)下载:

ctags.jpg

下载后得到ctags58.zip这个文件,解压,只需要把里面的ctags.exe拿出来,放到系统的PATH里面的任意一个目录里面就行,这里我们把它放到C:\Python36里面 (前面安装python时,把这个目录加入到了PATH里面):

ctags

然后编辑配置文件vimrc,追加下面几行:

" 执行命令隐藏/显示文件窗口
let g:winManagerWindowLayout='FileExplorer|TagList'
let g:AutoOpenWinManager = 1
nmap wm :WMToggle <CR>

保存后退出,再次启动vim,按wm即可调出winmanager:

winmanager.jpg

注意(下面两个地方搞了一阵没搞定,谁知道怎么解决记得通知我一声啊,有劳有劳):

  • 网上不少地方说使用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 <C-tab> :bn<CR>
nnoremap <C-s-tab> :bp<CR>

保存后再启动vim,打开多个文件,效果下图:

打开多个文件.jpg
  • 上面显示的是打开的文件列表,实现的是原来的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 <C-F5> :!python %<CR>

" ----- 显示和隐藏菜单栏 ----- 
""设置成默认不显示菜单栏和工具栏,如果是 +=m  +=T则是默认显示
set guioptions-=m
set guioptions-=T
""按F2显示或隐藏菜单栏
map <silent> <F2> :if &guioptions =~# 'T' <Bar>
        \set guioptions-=T <Bar>
        \set guioptions-=m <bar>
    \else <Bar>
        \set guioptions+=T <Bar>
        \set guioptions+=m <Bar>
    \endif<CR>


" ----- 设置主题 ----- 
syntax enable
"默认设置为monokai
colorscheme monokai

"set background=dark
"set background=light
"colorscheme solarized
"
"设置字体和大小
set guifont=courier_new:h12

" 快速切换主题,按F10切换下一个,按F9切换上一个
map <F10> :NextColorScheme<CR>
imap <F10> <ESC> :NextColorScheme<CR>
map <F9> :PreviousColorScheme<CR>
imap <F9> <ESC> :PreviousColorScheme<CR>

" 执行命令隐藏/显示文件窗口
let g:AutoOpenWinManager = 1
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle <CR>


" 配置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 <C-tab> :bn<CR>
nnoremap <C-s-tab> :bp<CR>

附录: 资源

  1. vim-plug常用操作
    https://github.com/junegunn/vim-plug
  2. jedi-vim常用操作
    https://github.com/davidhalter/jedi-vim/
  3. vim上其它插件
    https://vimawesome.com

我要偷个懒

如果你实在不想动手一步一步配置,那么下面是适合你的最懒方法:

  1. 配置好git
  2. 安装python36
  3. 下载上面共享地址中的gvim懒人版.zip,解压即用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,165评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,503评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,295评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,589评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,439评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,342评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,749评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,397评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,700评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,740评论 2 313
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,523评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,364评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,755评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,024评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,297评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,721评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,918评论 2 336