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

C

Chris Jones

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
 
R

Robert Kern

Chris said:
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
(e-mail address removed)

"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
 
C

Chris Jones

Robert said:
Chris said:
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..!
 
C

Chris Jones

Robert said:
Chris said:
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..!
 
R

Robert Kern

Chris said:
Robert Kern wrote:

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
(e-mail address removed)

"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
 
D

Daniel Nogradi

Of course, modern versions of Exuberant Ctags also support Python, too.
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.


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
 
C

Chris Jones

Daniel said:
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.
 
C

Chris Jones

Daniel said:
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,774
Messages
2,569,598
Members
45,161
Latest member
GertrudeMa
Top