470,647 Members | 1,085 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,647 developers. It's quick & easy.

using vim as a python class/module/function etc.. browser

I'm trying to make sense of a python program and was wondering if vim
has any python-oriented functionalities (apart from syntax highlighting)
that would make it somewhat easier to browse the source code.

What I had in mind is something that would let me use CTRL+] to
automatically display whatever object is under the cursor (a bit like
ctags for code written in C..)

I have read somewhere about something called 'ptags' but could not find
it in debian - and I'm not 100% sure it's really a python equivalent of
ctags.

I'm not too keen on using a gui IDE and would much prefer to stick with
vim if at all possible.

Any pointers or tips from python/vim folks welcome.

CJ
Apr 11 '06 #1
7 2653
Chris Jones wrote:
I'm trying to make sense of a python program and was wondering if vim
has any python-oriented functionalities (apart from syntax highlighting)
that would make it somewhat easier to browse the source code.

What I had in mind is something that would let me use CTRL+] to
automatically display whatever object is under the cursor (a bit like
ctags for code written in C..)

I have read somewhere about something called 'ptags' but could not find
it in debian - and I'm not 100% sure it's really a python equivalent of
ctags.


On ptags:
http://www.vim.org/tips/tip.php?tip_id=1188

Of course, modern versions of Exuberant Ctags also support Python, too.

--
Robert Kern
ro*********@gmail.com

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco

Apr 11 '06 #2
Robert Kern wrote:
Chris Jones wrote:
I'm trying to make sense of a python program and was wondering if vim
has any python-oriented functionalities (apart from syntax highlighting)
that would make it somewhat easier to browse the source code.

What I had in mind is something that would let me use CTRL+] to
automatically display whatever object is under the cursor (a bit like
ctags for code written in C..)

I have read somewhere about something called 'ptags' but could not find
it in debian - and I'm not 100% sure it's really a python equivalent of
ctags.

On ptags:
http://www.vim.org/tips/tip.php?tip_id=1188

Of course, modern versions of Exuberant Ctags also support Python, too.


I apt-installed this package but the man page is rather intimidating so
I thought I might as well make sure I was going in the right direction.

Just need to verify that the stable version (sarge) is modern enough..

Thanks..!
Apr 11 '06 #3
Robert Kern wrote:
Chris Jones wrote:
I'm trying to make sense of a python program and was wondering if vim
has any python-oriented functionalities (apart from syntax highlighting)
that would make it somewhat easier to browse the source code.

What I had in mind is something that would let me use CTRL+] to
automatically display whatever object is under the cursor (a bit like
ctags for code written in C..)

I have read somewhere about something called 'ptags' but could not find
it in debian - and I'm not 100% sure it's really a python equivalent of
ctags.

On ptags:
http://www.vim.org/tips/tip.php?tip_id=1188

Of course, modern versions of Exuberant Ctags also support Python, too.


I apt-installed this package but the man page is rather intimidating so
I thought I might as well make sure I was going in the right direction.

Just need to verify that the stable version (sarge) is modern enough..

Thanks..!
Apr 11 '06 #4
Chris Jones wrote:
Robert Kern wrote:
Of course, modern versions of Exuberant Ctags also support Python, too.


I apt-installed this package but the man page is rather intimidating so
I thought I might as well make sure I was going in the right direction.


You will probably want to read the vim documentation on how to use ctags from
vim. That will tell you all you need to know without extraneous cruft.
Just need to verify that the stable version (sarge) is modern enough..


It ought to be. It has supported Python for years and years.

--
Robert Kern
ro*********@gmail.com

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco

Apr 11 '06 #5
> >>Of course, modern versions of Exuberant Ctags also support Python, too.

I apt-installed this package but the man page is rather intimidating so
I thought I might as well make sure I was going in the right direction.


You will probably want to read the vim documentation on how to use ctags
from
vim. That will tell you all you need to know without extraneous cruft.
Just need to verify that the stable version (sarge) is modern enough..


It ought to be. It has supported Python for years and years.


For browsing source code I found the folding feature of vim very
useful. It collapses the body of function and class definitions into
one line so you can have a general overview of definitions in the
code. It is available from version 6 up and I recently wrote a vim
plugin specifically for folding python source code. You can find it
here: http://www.vim.org/scripts/script.php?script_id=1494

There is also an excellent vim plugin by Yegappan Lakshmanan for
working with 'tags' files using ctags. It displays all your function
and class definitions (from multiple files if you wish) in a narrow
vertical window where you can easily jump to the file containing a
chosen definition. This script is here:
http://www.vim.org/scripts/script.php?script_id=273

HTH,
Daniel
Apr 11 '06 #6
Daniel Nogradi wrote:
Of course, modern versions of Exuberant Ctags also support Python, too.

I apt-installed this package but the man page is rather intimidating so
I thought I might as well make sure I was going in the right direction.
You will probably want to read the vim documentation on how to use ctags
from
vim. That will tell you all you need to know without extraneous cruft.

Just need to verify that the stable version (sarge) is modern enough..


It ought to be. It has supported Python for years and years.

For browsing source code I found the folding feature of vim very
useful. It collapses the body of function and class definitions into
one line so you can have a general overview of definitions in the
code. It is available from version 6 up and I recently wrote a vim
plugin specifically for folding python source code. You can find it
here: http://www.vim.org/scripts/script.php?script_id=1494


I'm currently re-evaluating my vim habits .. see what new stuff I can
integrate so as to be more productive.. so it's probably a good time to
look into the folding feature...

There is also an excellent vim plugin by Yegappan Lakshmanan for
working with 'tags' files using ctags. It displays all your function
and class definitions (from multiple files if you wish) in a narrow
vertical window where you can easily jump to the file containing a
chosen definition. This script is here:
http://www.vim.org/scripts/script.php?script_id=273
this sounds very useful. Thanks very much for pointing me in the right
direction.

HTH,
Daniel


Apr 11 '06 #7
Daniel Nogradi wrote:
Of course, modern versions of Exuberant Ctags also support Python, too.

I apt-installed this package but the man page is rather intimidating so
I thought I might as well make sure I was going in the right direction.
You will probably want to read the vim documentation on how to use ctags
from
vim. That will tell you all you need to know without extraneous cruft.

Just need to verify that the stable version (sarge) is modern enough..


It ought to be. It has supported Python for years and years.

For browsing source code I found the folding feature of vim very
useful. It collapses the body of function and class definitions into
one line so you can have a general overview of definitions in the
code. It is available from version 6 up and I recently wrote a vim
plugin specifically for folding python source code. You can find it
here: http://www.vim.org/scripts/script.php?script_id=1494


I'm currently re-evaluating my vim habits .. see what new stuff I can
integrate so as to be more productive.. so it's probably a good time to
look into the folding feature...

There is also an excellent vim plugin by Yegappan Lakshmanan for
working with 'tags' files using ctags. It displays all your function
and class definitions (from multiple files if you wish) in a narrow
vertical window where you can easily jump to the file containing a
chosen definition. This script is here:
http://www.vim.org/scripts/script.php?script_id=273
this sounds very useful. Thanks very much for pointing me in the right
direction.

HTH,
Daniel

Apr 11 '06 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

220 posts views Thread by Brandon J. Van Every | last post: by
5 posts views Thread by eq | last post: by
4 posts views Thread by Benjamin Rutt | last post: by
17 posts views Thread by Jacob Page | last post: by
5 posts views Thread by Johann C. Rocholl | last post: by
reply views Thread by Kurt B. Kaiser | last post: by
reply views Thread by rkmr.em | last post: by
13 posts views Thread by John Dann | last post: by
reply views Thread by warner | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.