Skip to content

Python-Repository-Hub/python-mode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

104 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python-mode, Python in VIM

Python-mode is a vim plugin that allows you to use the pylint, rope, pydoc library in vim to provide features like python code looking for bugs, refactoring and some other useful things.

This plugin allow you create python code in vim very easily. There is no need to install the pylint or rope library on your system.

  • Highlight syntax errors
  • Highlight and auto fix unused imports
  • Strong code completion
  • Code refactoring
  • Python documentation
  • Run python code
  • Go to definition
  • Powerful customization
  • Virtualenv support
  • And more...

See screencast here: http://t.co/3b0bzeXA (sorry for quality, this my first screencast)

  • VIM >= 7.0 with python support (also --with-features=big if you want use g:pymode_lint_signs)

Using pathogen (recomended)

% cd ~/.vim
% mkdir -p bundle && cd bundle
% git clone git://github.com/klen/python-mode.git
  • Enable pathogen in your ~/.vimrc:

    " Pathogen load
    filetype off
    
    call pathogen#infect()
    call pathogen#helptags()
    
    filetype plugin indent on
    syntax on
    
% git clone git://github.com/klen/python-mode.git
% cd python-mode.vim
% cp -R * ~/.vim

Then rebuild helptags in vim:

:helptags ~/.vim/doc/

Note

filetype-plugin (:help filetype-plugin-on) and filetype-indent (:help filetype-indent-on) must be enabled for use python-mode.

Note

Also you can see vim help. :help PythonModeOptions

To change this settings, edit your ~/.vimrc file. Example:

" Disable pylint checking every save
let g:pymode_lint = 0

" Set key 'R' for run python code
let g:pymode_run_key = 'R'

Default values:

" Load show documentation plugin
let g:pymode_doc = 1

" Key for show python documentation
let g:pymode_doc_key = 'K'

" Executable command for documentation search
let g:pydoc = 'pydoc'

Default values:

" Load run code plugin
let g:pymode_run = 1

" Key for run python code
let g:pymode_run_key = '<leader>r'

Default values:

" Load pylint code plugin
let g:pymode_lint = 1

" Switch pylint or pyflakes code checker
let g:pymode_lint_checker = "pylint"

" Pylint configuration file
" If file not found use '.pylintrc' from python-mode plugin directory
let g:pymode_lint_config = "$HOME/.pylintrc"

" Check code every save
let g:pymode_lint_write = 1

" Auto open cwindow if errors be finded
let g:pymode_lint_cwindow = 1

" Auto jump on first error
let g:pymode_lint_jump = 0

" Place error signs
let g:pymode_lint_signs = 1

" Minimal height of pylint error window
let g:pymode_lint_minheight = 3

" Maximal height of pylint error window
let g:pymode_lint_maxheight = 6

Note

Pylint options (ex. disable messages) may be defined in '$HOME/pylint.rc' See pylint documentation.

Default values:

" Load rope plugin
let g:pymode_rope = 1

" Auto create and open ropeproject
let g:pymode_rope_auto_project = 1

" Enable autoimport
let g:pymode_rope_enable_autoimport = 1

" Auto generate global cache
let g:pymode_rope_autoimport_generate = 1

let g:pymode_rope_autoimport_underlineds = 0

let g:pymode_rope_codeassist_maxfixes = 10

let g:pymode_rope_sorted_completions = 1

let g:pymode_rope_extended_complete = 1

let g:pymode_rope_autoimport_modules = ["os","shutil","datetime"])

let g:pymode_rope_confirm_saving = 1

let g:pymode_rope_global_prefix = "<C-x>p"

let g:pymode_rope_local_prefix = "<C-c>r"

let g:pymode_rope_vim_completion = 1

let g:pymode_rope_guess_project = 1

let g:pymode_rope_goto_def_newwin = 0

let g:pymode_rope_always_show_complete_menu = 0

Default values:

" Load breakpoints plugin
let g:pymode_breakpoint = 1

" Key for set/unset breakpoint
let g:pymode_breakpoint_key = '<leader>b'

" Autoremove unused whitespaces
let g:pymode_utils_whitespaces = 1

" Auto fix vim python paths if virtualenv enabled
let g:pymode_virtualenv = 1

" Set default pymode python indent options
let g:pymode_options_indent = 1

" Set default pymode python fold options
let g:pymode_options_fold = 1

" Set default pymode python other options
let g:pymode_options_other = 1

Note

Also you can see vim help. :help PythonModeKeys

Keys Command
K Show python docs
<C-Space> Rope autocomplete
<Leader>r Run python
<Leader>b Set, unset breakpoint

Note

See also :help ropevim.txt

Note

Also you can see vim help. :help PythonModeCommands

Note

See also :help ropevim.txt

If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/python-mode/issues

Development of pylint-mode happens at github: https://github.com/klen/python-mode

Copyright (C) 2011 Kirill Klenov (klen)

Rope

Copyright (C) 2006-2010 Ali Gholami Rudi

Copyright (C) 2009-2010 Anton Gritsay

Pylint
Copyright (C) 2003-2011 LOGILAB S.A. (Paris, FRANCE). http://www.logilab.fr/
Pyflakes:
Copyright (c) 2005 Divmod, Inc. http://www.divmod.com/

Licensed under a GNU lesser general public license.

About

Vim python-mode. PyLint, Rope, Pydoc, breakpoints from box.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Vim Script 58.2%
  • Python 37.8%
  • Shell 4.0%