VIM for Python and Django Development

VIM-PyDjango created by Programmer for Programmer who work on Python & Django everyday.

It's coming with several features :

Autocomplete, Pep8 checker, File Manager, Function bar, detect unused module/variable, Auto-Commenting, Python/Django/Custom snippets and many else!

How it works ?

It will detect automatically your code while typing. All code will show with related options.

Code mistake, unused variable, un-standard Python will checked automatically.

Helpful notification will show on bottom so it not disturb your view.

Not only for python files, it also pay attention for html, js and all django related files.

Watch Video example usage on :

http://www.youtube.com/watch?v=a-KfmxoxdfI

Installation

It using Vundle for manage all plugin. Install Vundle by :

sudo apt-get install git
cd ~/
git clone git://github.com/yodiaditya/vim-pydjango.git
ln -s ~/vim-pydjango/.vim ~/.vim
ln -s ~/vim-pydjango/.vimrc ~/.vimrc
git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

To install. please do :

vim ~/.vimrc
:BundleInstall

Follow https://github.com/gmarik/vundle for more detailed information.

Don't forget to install dependency packages (I'm using Ubuntu 11.10):

sudo apt-get install python-setuptools python-pip exuberant-ctags
sudo pip install git+git://github.com/kevinw/pyflakes.git
sudo pip install pylint
sudo pip install pep8

Python Programming Standards

There are several standards used in this VIM

  1. Pep8

  2. PyFlakes

  3. Convert HAML into HTML using Sparkup

  4. Auto-Commenter

Debugging Python

For debugging Django with Development Server, I use ipdb

import ipdb; ipdb.set_trace()

To install ipdb on Ubuntu :

sudo apt-get install ipython
sudo pip install ipdb

Development Rules

VIM-PyDjango use 80 lines terminals ( Good for development )

It using tab & space size as Python standard.

Shorcut keys

Leader = ,

MRU = , + space

Pep8 = F6

FileManager + Tagbar = F8

FileManager = , + t

FuzzFinder Files = F2

FuzzFinder Buffer = , + b

Tagbar = , + l

Paste = Ctrl + V

Plugin Installed

Color scheme Mustang : http://hcalves.deviantart.com/art/Mustang-Vim-Colorscheme-98974484

Syntastic :https://github.com/scrooloose/syntastic

FuzzyFinder : http://www.vim.org/scripts/script.php?script_id=1984

L9 : http://www.vim.org/scripts/script.php?script_id=3252

Pyflakes : https://github.com/kevinw/pyflakes-vim

Pep8 : https://github.com/vim-scripts/pep8

NerdTree : https://github.com/scrooloose/nerdtree

NerdCommenter : https://github.com/scrooloose/nerdcommenter

Tagbar : https://github.com/majutsushi/tagbar

Sparkup : http://jetpackweb.com/blog/2010/03/04/write-html-faster-with-sparkup-vim-and-textmate/

MRU : https://github.com/vim-scripts/mru.vim

Tagbar : https://github.com/majutsushi/tagbar

IndentPython : https://github.com/vim-scripts/indentpython.vim

Fugitive : https://github.com/tpope/vim-fugitive

Why you should use this ?

VIM-PyDjango using latest and updated VIM plugins and tools.

Cut a lot time for develop python & django applications after use it!

Deprecated

I no longer use VIM-Debug from http://github.com/jabapyth/vim-debug.

You can see how to installation and screenshots there.

UltiSnips : http://www.vim.org/scripts/script.php?script_id=2715

NeoComplcache : https://github.com/Shougo/neocomplcache

VIM for Python and Django Development的更多相关文章

  1. [Django] Setting up Django Development Environment in Ubuntu 14.04

    1. Python Of course you will need Python. Still Python 2.7 is preferred, however if you would like t ...

  2. 051.Python的Django框架简单使用

    一 HTTP相关概念 http协议包含由浏览器发送数据到服务器需要遵循的请求协议与服务器发送数据到浏览器需要遵循的响应协议.用于HTTP协议交互的信息被为HTTP报文.请求端(客户端)的HTTP报文 ...

  3. [Python] 利用Django进行Web开发系列(一)

    1 写在前面 在没有接触互联网这个行业的时候,我就一直很好奇网站是怎么构建的.现在虽然从事互联网相关的工作,但是也一直没有接触过Web开发之类的东西,但是兴趣终归还是要有的,而且是需要自己动手去实践的 ...

  4. Python 学习笔记13:Python + wsgi + django 配置。坑爹的python3和wsgi不兼容的解决

    今人不见古时月,今月曾经照古人.生命是如此的美丽与短暂! 学习Python已经两个月了,Python的语法通过做简单的语法题和看Python语法介绍,有了初步的了解.但上班还是要做别的事情,所以感觉学 ...

  5. 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

    第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...

  6. Python的Django REST框架中的序列化及请求和返回

    Python的Django REST框架中的序列化及请求和返回 序列化Serialization 1. 设置一个新的环境 在我们开始之前, 我们首先使用virtualenv要创建一个新的虚拟环境,以使 ...

  7. 052.Python前端Django框架路由层和视图层

    一.路由层(URLconf) 1.1 路由层简单配置 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Dj ...

  8. [Python] 利用Django进行Web开发系列(二)

    1 编写第一个静态页面——Hello world页面 在上一篇博客<[Python] 利用Django进行Web开发系列(一)>中,我们创建了自己的目录mysite. Step1:创建视图 ...

  9. Window环境下Python和Django的安装

    转载地址:http://blog.csdn.net/haoni123321/article/details/7593821 1.下载python,本文使用python-2.7.2.msi 2.下载dj ...

随机推荐

  1. linux基础-第十二单元 硬盘分区、格式化及文件系统的管理一

    第十二单元 硬盘分区.格式化及文件系统的管理一 硬件设备与文件名的对应关系 硬盘的结构及硬盘分区 为什么进行硬盘分区 硬盘的逻辑结构 Linux系统中硬盘的分区 硬盘分区的分类 分区数量的约束 使用f ...

  2. Eclipse+Maven创建webapp项目<一>

    Eclipse+Maven创建webapp项目<一> 1.开启eclipse,右键new——>other,如下图找到maven project 2.选择maven project,显 ...

  3. 可以ping通,但是不能connect

    实测有效的解决方法: 通过minicom串口连接板子: su stop adbd start adbd 如果再不行,就在终端输入 adb kill-server adb start-server 参考 ...

  4. (function($, window, document) {}) jQuery 调用解决与其他javascript库冲突的写法

    将函数包在红色字体内部,可以解决$符号与其他插件的冲突. <script type="text/javascript"> (function($, window, do ...

  5. .net的Hello World之旅

    class Program    {        //这是主函数,是程序的入口        static void Main(string[] args)        {            ...

  6. 【BZOJ 2038】【2009 国家集训队】小Z的袜子(hose) 分块+莫队

    $SDOI2016Day-1$临时抱佛脚学习一下莫队算法$233$ 我预感到自己省选要爆0hhh #include<cmath> #include<cstdio> #inclu ...

  7. zoj3261 并查集离线处理

    Connections in Galaxy War Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%lld & ...

  8. 如何在HTMl网页中插入百度地图

    方法/步骤 1.打开"百度地图生成器"的网址:http://api.map.baidu.com/lbsapi/creatmap/index.html 如下图: 2.在"1 ...

  9. 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch

    1.ListBox 的示例Controls/SelectionControl/ListBoxDemo.xaml <Page x:Class="Windows10.Controls.Se ...

  10. 使用iframe 或frameset框架退出不成功

    iframe .frameset框架有时登录界面加载在框架当中,但我们想直接到登录界面,这时我们可以使用js来实现.if(window!=top) { top.location.href=locati ...