俗话说:工欲善其事,必先利其器。最近使用python,习惯了liunx和vim,打算将vim作为python开发工具,下面就配置vim,以让它成为python开发的利器,增强我们的开发体验!废话少说,看下面。

1、检查vim是否支持python,确保安装7.x版本,我的是vim7.4,检查方法:vim --version|grep python 如看到python前有加号,表示支持,减号表示不支持。

2、在/root/.vim下创建plugin目录,如存在则不用创建了。

3、安装MiniBufExplorer,主要用来方便buffer的浏览和操作,在编程的时候不可能永远只编辑一个文件, 你肯定会打开很多源文件进行编辑, 如果每个文件都打开一个vim进行编辑的话那操作起来将是多麻烦啊, 所以vim有buffer(缓冲区)的概念。下载地址http://www.vim.org/scripts/script.php?script_id=159 直接将 minibufexpl.vim 文件复制到~/.vim/plugin目录下,并到~/.vimrc中添加如下内容:

 let g:miniBufExplMapWindowNavVim =
let g:miniBufExplMapWindowNavArrows =
let g:miniBufExplMapCTabSwitchBufs =
let g:miniBufExplModSelTarget =

当你打开多个文件是,MiniBufExplorer就会自动出现了,效果如下图:

4、高效地浏览源码:taglist,下载地址:http://vim.sourceforge.net/scripts/script_search_results.php?order_by=rating,直接将文件扔到~/.vim/plugin目录下,并到~/.vimrc中添加如下内容:

map P :TlistToggle<CR>

然后到用vim打开一个文件,输入P或者:TlistToggle,效果如下:

5、代码中快速定位与切换,也就是实现在代码中跳来跳去:Ctags 下载地址:http://ctags.sourceforge.net/,下载好直接减压安装,如下

tar zxvf ctags-5.8.tar.gz
cd ctags-5.8
./configure && sudo make install

安装完成后到/root/.vimrc中添加

let $Tlist_Ctags_Cmd='/usr/local/bin/ctags'

别激动,现在还没有完成,假设我经常工作目录是/home/django,到你经常编码的地方最上层目录,执行:ctags -R,这样就会在该目录下生成tags目录,用来存tags。

最后在/root/.vimrc中添加

:set tags=/home/django/tags

至此,你就可以定位函数并跳来挑去啦,这里我就不演示了。

6、python代码自动补全:Pydiction下载地址:http://www.vim.org/scripts/script.php?script_id=850 减压后将python_pydiction.vim、complete-dict、pydiction.py文件复制到 ~/.vim/after/ftplugin/ 路径下,如没有目录进行mkdir新建。然后在/root/.vimrc中添加

let g:pydiction_location = '~/.vim/after/ftplugin/complete-dict'

下面看看效果吧:

7、其他一些设置,如高亮显示关键字,自动缩进等。在/root/.vimrc中添加如下:

set backspace=indent,eol,start
set expandtab
set textwidth=
set tabstop=
set softtabstop=
set shiftwidth=
set autoindent syntax enable
syntax on set nu

到此为止,一个功能还算可以得开发IDE环境就配置完成了,以后可以加入更多的功能,如错误提示,debug等。

python开发环境必备之vim配置的更多相关文章

  1. vim配置python开发环境

    vim配置python开发环境 一.安装vim sudo apt-get install vim 二.vim基础配置 #Centos6.5 /usr/share/vim/vim72 vi /etc/v ...

  2. 配置基于Vim的Python开发环境

    配置基于Vim的Python开发环境插件 Vundle YouCompleteMe NERDTree Vim-Jinja2-Syntax set nocompatible " be iMpr ...

  3. 在Ubuntu下配置舒服的Python开发环境

    Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的一个安装和配置步骤,基于 Ubuntu 12.0 ...

  4. 转[开发环境配置]在Ubuntu下配置舒服的Python开发环境

    在Ubuntu下配置舒服的Python开发环境 Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的 ...

  5. Ubuntu下配置舒服的Python开发环境

    Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的一个安装和配置步骤,基于 Ubuntu 12.0 ...

  6. python 开发环境配置

    上篇文章配置了虚机基础环境,本篇文章介绍配置python开发环境 配置YUM源 使用国内yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos ...

  7. 新阿里云服务器从0开始配置为python开发环境

    由于每次打开linux虚拟机比较麻烦,于是尝试一下云服务器,在阿里云领取了一个月的试用服务器,这里记录一下新服务器从0配置成python开发环境的步骤,以便以后配置新服务器时有个参考. 免费领取一个月 ...

  8. manjaro与python开发环境配置

    1.manjaro配置 1.1.启动项 sudo update-grub 注:Manjaro(archLinux)系统时间快8小时--> sudo timedatectl set-local-r ...

  9. [转]Aptana Studio 3配置Python开发环境图文教程

    转载URL:http://www.cr173.com/html/49260_1.html 一.安装Aptana Studio 3 安装完运行时建议将相关默认工作目录设定在英文的某个目录下.避免可能出现 ...

随机推荐

  1. html头部转码

    学习html是件比较容易的事情,但单单学html语言肯定是不够用的,所以大多数人并没有拿html作为学习核心,而是将html作为javascript.动态语言或者css学习的必经之路.于是很多人并不关 ...

  2. 工作总结 无法确定条件表达式的类型,因为“<null>”和“System.DateTime”之间没有隐式转换 解决办法 object——Nullable<T> (可空类型)

    可空值类型 备注     一种类型认为是可以为 null,如果它可以分配一个值,也可以分配null,这意味着类型具有无论如何没有值. 默认情况下,所有都引用类型,如String,是否可以为 null, ...

  3. java之静态代理

    © 版权声明:本文为博主原创文章,转载请注明出处 定义: - 为其他对象提供一种代理以控制对这个对象的访问 组成: 抽象角色:通过接口或抽象类声明真正角色实现的业务方法 真实角色:实现抽象角色,定义真 ...

  4. angularjs2中的非父子组件的通信

    AngualrJs2官方方法是以@Input,@Output来实现组件间的相互传值,而且组件之间必须父子关系,下面给大家提供一个简单的方法,实现组件间的传值,不仅仅是父子组件,跨模块的组件也可以实现传 ...

  5. unity3d动态加载资源

    在Unity3D的网络游戏中实现资源动态加载 分类: 最新学习2012-06-14 13:35 1127人阅读 评论(0) 收藏 举报 网络游戏nullvectorjson游戏string 用Unit ...

  6. iOS Masonry 查看更多 收起

    Masonry 查看更多 收起效果实现,带动画 demo下载地址: https://github.com/qqcc1388/MasonryDemo

  7. "下列引导或系统启动驱动程序无法加载: cdrom"的解决方案

    1.进入注册表(开始->运行->regedit) 2.展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\cdrom 3.把Sta ...

  8. hive中遇到的问题

    ) from t_1 where country ='China' group by (name = 'qq'); 结果图 select * from t_sz_part; 按照理解来说,应该只有一个 ...

  9. CLR内存回收机制

    代龄机制. 通过递归构建可达对象图,不可达的对象会被回收,然后CLR会矫正对象指针. 对于终止化/Finalize对象, 一开始时这些对象指针/根/引用会被放到终止化链表中,当CLR垃圾收集开始时,那 ...

  10. Unable to VNC onto Centos server remotely

    用的好好的vncserver 突然遇到这个错误: [vnc@localhost ~]$ sudo systemctl status vncserver@:1.service -l● vncserver ...