本文讲解 python 常用编辑器vim在开发中的常用配置。
1. 一键执行
将如下数据加入到vim配置文件vimrc最后,python文件保存后按F5即可执行程序,无需保存退出文件:
""""""""""""""""""""""
"Quickly Run
"""""""""""""""""""""""
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec "!g++ % -o %<"
exec "!time ./%<"
elseif &filetype == 'cpp'
exec "!g++ % -o %<"
exec "!time ./%<"
elseif &filetype == 'java'
exec "!javac %"
exec "!time java %<"
elseif &filetype == 'sh'
:!time bash %
elseif &filetype == 'python'
exec "!time python2.7 %"
elseif &filetype == 'html'
exec "!firefox % &"
elseif &filetype == 'go'
exec "!go build %<"
exec "!time go run %"
elseif &filetype == 'mkd'
exec "!~/.vim/markdown.pl % > %.html &"
exec "!firefox %.html &"
endif
endfunc
2. 代码补全插件snipmate
举例:配置代码补全之后输入#按tab建即可补全如下内容:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
- 安装pathogen,在~目录下依次运行以下命令
mkdir -p ~/.vim/autoload ~/.vim/bundle
wget https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
mv pathogen.vim ~/.vim/autoload/
如果文件pathogen.vim内容为空,可以直接手动新建此文件再执行命令,或者将此文件的内容直接拷贝一下。
2) vimrc 文件中添加如下内容
execute pathogen#infect()
- 安装snipMate,依次运行如下代码
cd ~/.vim/bundle
git clone https://github.com/tomtom/tlib_vim.git
git clone https://github.com/MarcWeber/vim-addon-mw-utils.git
git clone https://github.com/garbas/vim-snipmate.git
git clone https://github.com/honza/vim-snippets.git
至此,snipMate就安装完成了,snipMate根据vim打开的文件名来选择补全方式,支持多种语言,各种语言的模板文件在目录~/.vim/bundle/vim-snippets/snippets
中,可根据需要自行修改。
3. 语法检查插件Syntastic
安装此插件之后在:w保存文件后会标记出语法错误的行
1)
mkdir -p ~/.vim/autolscrooloose/syntasticoad ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
- vimrc 文件添加
execute pathogen#infect()
注:放在最后位置无效时可放在靠前位置
3)
cd ~/.vim/bundle && \
git clone https://github.com/scrooloose/syntastic.git
至此安装完成,新开一个vim查看是否可以进行语法检查。
3. 代码提示插件jedi
安装后书写代码时可自动列出代码中的函数等。
- 安装pathogen.vim,可参考上面的安装过程。
在~/.vimrc中添加execute pathogen#infect()
cd ~/.vim/bundle
git clone https://github.com/davidhalter/jedi-vim
cd jedi-vim
git submodule update --init
无需其他配置,安装jedi-vim 需要注意的是它和其他一些插件的兼容性,比如所vim d的Python-mode。