views:

1499

answers:

8

I'm looking for a suite of plugins that can help me finally switch over to vim full-time.

Right now I'm using Komodo with some good success, but their vim bindings have enough little errors that I'm tired of it.

What I do love in Komodo, though, is the code completion. So, here's what I'm looking for (ordered by importance).

  • Code completion, meaning: the ability to code complete modules/functions/etc. in any module that's on the pythonpath, not just system modules. Bonus points for showing docstrings when completing.
  • Jump-to a class definition. I'm guessing CTAGS will do this, so how do you all manage automatically updating your tags files?
  • Project type management for managing buffers: ideally the ability to grep for a filename in a directory structure to open it. Bonus for showing an index of class definitions while a buffer is open.
  • Bzr integration. Not super important, since most of it I can just drop to the shell to do.
+11  A: 

Here you can find some info about this.

It covers code completion, having a list of classes and functions in open files. I haven't got around to do a full configuration for vim, since I don't use Python primarily, but I have the same interests in transforming vim in a better Python IDE.

rslite
The above link is broken. Redirecting to the home page. Here is a correct one: http://www.sontek.net/post/Python-with-a-modular-IDE-%28Vim%29.aspx
Ramiz Uddin
+1  A: 

That's a great link. My one nit is that I believe that omnicompletion in vim only works for system libraries (or at least it did when I tried to set it up last). Can anyone verify this?

andrew
The 'path' option (http://vimdoc.sourceforge.net/htmldoc/options.html#%27path%27) lets you specify a search path...
andrew
Adding my site-packages to the path doesn't do anything for omnicomplete -- nor does it help with modules/classes I'm currently working on.
andrew
+1  A: 

Here is some info on Bazaar integration if you're interested:

https://launchpad.net/bzr-vim-commands

Ben Hoffstein
+2  A: 

For refactoring: ropevim

sherbang
YMMV, but I find ropevim's code-completion copes better with non-trivial Python projects than the offical omni-complete functionality. For integration with vim's omni-complete see http://pastebin.com/1hQdeS95 and http://groups.google.com/group/rope-dev/browse_thread/thread/8f41c616b7df64cf?pli=1
RobM
+1  A: 

Code completion: PySmell looks promising. It's work-in-progress, but alredy useful.

Krzysiek Goj
+1  A: 

I use pydoc.vim (I actually wrote it) a lot, try it and tell me what you think. Another one that I think is quite useful is the updated syntax file with all it's extensions that you can enable, which you can find here.

André
+1  A: 

I use Pydiction (http://www.vim.org/scripts/script.php?script_id=850) it's a plugin for vim that lets you Tab-complete python modules/methods/attributes/keywords, including 3rd party stuff like Pygame, wxPython, Twisted, and literally everything. It works more accurately than other things i've tried and it doesn't even require that python support be compiled into your Vim.

A: 

Old question, but I typed all this up for a misread question...

General plugin recommendations: LookupFile and a plugin for your source control system (I like Git and Git-Vim).

Python plugin recommendations: If you're using Linux, I'd recommend ipython and ipy.py (a better interactive interpreter). Improved syntax highlighting, snippets, pydoc, and for refactoring support bicyclerepairman. I got started with this post.

You may want to try looking through someone's vimfiles. Mine are on github.

pydave