Vim capable IDE?

Discussion in 'Python' started by Chris Lasher, Oct 18, 2005.

  1. Chris Lasher

    Chris Lasher Guest

    Hello,
    Is there a Python-sensitive, Linux compatible IDE out there with
    standard bells and whistles (source browser, symbolic debugger, etc.)
    but with the action-per-keystroke editing capabilities of Vim? I have
    failed to turn up such an IDE in my Googling and IDE project-page
    browsing. :-(

    Thanks very much in advance,
    Chris
    Chris Lasher, Oct 18, 2005
    #1
    1. Advertising

  2. Chris Lasher

    Dan Farina Guest

    Chris Lasher wrote:
    > Hello,
    > Is there a Python-sensitive, Linux compatible IDE out there with
    > standard bells and whistles (source browser, symbolic debugger, etc.)
    > but with the action-per-keystroke editing capabilities of Vim? I have
    > failed to turn up such an IDE in my Googling and IDE project-page
    > browsing. :-(
    >
    > Thanks very much in advance,
    > Chris
    >


    If you don't have religious feelings on Java (or are able to ignore them
    for the time being) you could try Eclipse and pydev (see
    pydev.sourceforge.net)

    I use it. I think it works well.

    df
    Dan Farina, Oct 18, 2005
    #2
    1. Advertising

  3. Chris Lasher wrote:
    > Hello,
    > Is there a Python-sensitive, Linux compatible IDE out there with
    > standard bells and whistles (source browser, symbolic debugger, etc.)
    > but with the action-per-keystroke editing capabilities of Vim? I have
    > failed to turn up such an IDE in my Googling and IDE project-page
    > browsing. :-(


    What about a Python IDE that embed Vim as it's editor ?
    http://pida.berlios.de/index.php/Main_Page

    HTH
    --
    bruno desthuilliers
    python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
    p in ''.split('@')])"
    bruno modulix, Oct 18, 2005
    #3
  4. Chris Lasher

    Chris Lasher Guest

    Thanks for your responses, guys. I can't get the PIDA page to come up
    for me; server timeout error. I'll have to look into Eclipse more, but
    I've been warned that it's resource greedy and that the VI plugin
    doesn't provide very much functionality. Still, that's hearsay, so I'll
    have to find out for myself.

    I would have figured Vim or VI editing behavior would be a lot more
    prevalent in IDEs but it seems to be quite rare. I don't understand
    that, because a lot of people seem to use IDEs, and a lot of people
    seem to use VI/Vim or Emacs. Is it the young guns that are tied to the
    IDEs, never knowing powerful text-editors exist, and old dogs sticking
    to their favorite editors, not giving in to all those "distracting"
    bells and whistles of IDEs? What's the deal? A marriage of the two
    would seem like the best of both worlds.

    Chris
    Chris Lasher, Oct 18, 2005
    #4
  5. True and I had to give up emacs when I went to eclipse, but it was well
    worth it.

    I seem to recall that sourcenavigator allowed to configure an external
    editor (or maybe was it sniff+ ?)

    Regards,
    Philippe



    Chris Lasher wrote:

    > Thanks for your responses, guys. I can't get the PIDA page to come up
    > for me; server timeout error. I'll have to look into Eclipse more, but
    > I've been warned that it's resource greedy and that the VI plugin
    > doesn't provide very much functionality. Still, that's hearsay, so I'll
    > have to find out for myself.
    >
    > I would have figured Vim or VI editing behavior would be a lot more
    > prevalent in IDEs but it seems to be quite rare. I don't understand
    > that, because a lot of people seem to use IDEs, and a lot of people
    > seem to use VI/Vim or Emacs. Is it the young guns that are tied to the
    > IDEs, never knowing powerful text-editors exist, and old dogs sticking
    > to their favorite editors, not giving in to all those "distracting"
    > bells and whistles of IDEs? What's the deal? A marriage of the two
    > would seem like the best of both worlds.
    >
    > Chris
    Philippe C. Martin, Oct 18, 2005
    #5
  6. Chris Lasher

    Ron Adam Guest

    Chris Lasher wrote:
    > Thanks for your responses, guys. I can't get the PIDA page to come up
    > for me; server timeout error. I'll have to look into Eclipse more, but
    > I've been warned that it's resource greedy and that the VI plugin
    > doesn't provide very much functionality. Still, that's hearsay, so I'll
    > have to find out for myself.
    >
    > I would have figured Vim or VI editing behavior would be a lot more
    > prevalent in IDEs but it seems to be quite rare. I don't understand
    > that, because a lot of people seem to use IDEs, and a lot of people
    > seem to use VI/Vim or Emacs. Is it the young guns that are tied to the
    > IDEs, never knowing powerful text-editors exist, and old dogs sticking
    > to their favorite editors, not giving in to all those "distracting"
    > bells and whistles of IDEs? What's the deal? A marriage of the two
    > would seem like the best of both worlds.
    >
    > Chris


    What features are you looking for. I think most Vim users just add what
    they want to Vim.

    Here's what I use to launch a script and capture the output into a read
    only panel. I think it may still needs a little fine tuning. This is
    on windows, but it should work on linux with some minor changes.

    Cheers,
    Ron


    Add this to your python.vim file in your ftplugin directory.

    " Run a python script and get the output into a window.
    set switchbuf=useopen
    function! RunPython(rmode)
    if a:rmode=='wnd'
    " Run in python shell and capture the
    " output to a vim buffer window.
    execute "w!"
    if bufnr("python_stdout") >0
    exe "sb python_stdout"
    else
    exe 'split python_stdout'
    endif
    setlocal noswapfile
    set buftype=nofile
    setlocal modifiable
    normal ggdG
    silent! exe 'r!python #'
    setlocal nomodified
    set filetype=txt
    normal 1G
    elseif a:rmode=='ext'
    " Execute script in python shell
    execute "w!"
    !start python -i %
    else
    " Open an interactive shell
    !start python
    endif
    endfunction

    " Add keymap to run and open console
    map <F12> :call RunPython("wnd")<cr>
    map <S-F12> :call RunPython("ext")<cr><cr>
    map <c-F12> :call RunPython("psh")<cr><cr>
    imap <F12> <C-\><C-N>:call RunPython("wnd")<cr>:star<cr>
    imap <S-F12> <C-\><C-N>:call RunPython("ext")<cr><cr>:star<cr>
    imap <c-F12> <C-\><C-N>:call RunPython("psh")<cr><cr>:star<cr>
    Ron Adam, Oct 18, 2005
    #6
  7. I would second that. I use Vim for editing. I find I don't need an IDE (not
    even for C/C++). Vim does everything I need. If I want a debugger I will use
    the shell debugger. Most other things can be added to Vim, though I tend to
    run with very few plugins.

    -Chris


    On Tue, Oct 18, 2005 at 05:12:30PM +0000, Ron Adam wrote:
    > What features are you looking for. I think most Vim users just add what
    > they want to Vim.
    >
    Chris Lambacher, Oct 18, 2005
    #7
  8. Chris Lasher

    Chris Lasher Guest

    Thanks again for your responses, guys. To answer the question,the
    features I'd love to see in a Python IDE are:

    * First and foremost, Vim editing behavior. Let me keep my fingers on
    the homerow. I'm lazy. Point and click and CTRL + SHIFT has its
    moments, but text editing is not one of them.

    * Graphical symbolic debugger: the course I'm auditing, Software
    Carpentry, by Greg Wilson of University of Toronto, devoted a whole
    lecture to debuggers. See
    http://www.third-bit.com/swc/www/debugging.html . So now I want to try
    this crazy thing. I love the idea of being able to watch the values of
    variables change in "realtime" as the program runs, from the
    convenience of a little side window. I also love the concept of not
    having to insert debugging code into the production code--just a click
    in the left column and you set the debugging command. Keep the
    production code clean by putting the debugging commands outside the
    program.

    * Source browser: the ability to jump back and forth between specific
    blocks of code very quickly, and to see the overall layout of the file
    in terms of classes, methods, functions, etc. I want the big picture in
    a side window to keep me on task and remind me of how far I've come
    when I start feeling bogged down in details.

    * Autocompletion: PythonWin by ActiveState has nice autocompletion.
    When I import a module, it can dive down into those namespaces and
    allow autocompletion on them. That's a nice, productive feature.

    * Usage tips/tooltips: Also something I found in PythonWin. During the
    writing of the method, a little tip box pops up advising me what the
    inputs are for a method or an instance construction for a class. Very
    nice, very productive.

    * Linux compatibility: Nothing against Microsoft, or Apple, I just like
    to use a Linux box more.

    It seems like the IDEs I've looked at have most of the features, but
    none do Vim. Crazy.

    I agree that you can do all your coding using just Vim. That's how I've
    been doing it. But following along with Greg Wilson's Software
    Carpentry has made me realize that I could be more productive using the
    additional, apparently now-standard tools of a good IDE. I just don't
    want to sacrifice productivity in in keystrokes. It just seems like a
    compromise programmers shouldn't have to make.

    the other Chris

    Chris Lambacher wrote:
    > I would second that. I use Vim for editing. I find I don't need an IDE (not
    > even for C/C++). Vim does everything I need. If I want a debugger I will use
    > the shell debugger. Most other things can be added to Vim, though I tend to
    > run with very few plugins.
    >
    > -Chris
    >
    >
    > On Tue, Oct 18, 2005 at 05:12:30PM +0000, Ron Adam wrote:
    > > What features are you looking for. I think most Vim users just add what
    > > they want to Vim.
    > >
    Chris Lasher, Oct 18, 2005
    #8
  9. Vim IS a capable IDE [was Re: Vim capable IDE?]

    Most of this stuff can be done in Vim or Emacs. I only know the details for
    Vim, see below. I don't know why people are insistant on claiming that Vim
    and Emacs can't do these kinds of things. They are, it just may take a bit
    more work to set up. The advantage to this extra work is that you can make it
    work the way you want it to.

    Both Emacs and Vim have powerful languages for defining extensions to them.
    In the case of Vim you can use its own language or one of Python, Perl, Ruby,
    Tcl (perhapse more?).

    -Chris

    On Tue, Oct 18, 2005 at 12:28:17PM -0700, Chris Lasher wrote:
    > Thanks again for your responses, guys. To answer the question,the
    > features I'd love to see in a Python IDE are:
    >
    > * First and foremost, Vim editing behavior. Let me keep my fingers on
    > the homerow. I'm lazy. Point and click and CTRL + SHIFT has its
    > moments, but text editing is not one of them.
    >
    > * Graphical symbolic debugger: the course I'm auditing, Software
    > Carpentry, by Greg Wilson of University of Toronto, devoted a whole
    > lecture to debuggers. See
    > http://www.third-bit.com/swc/www/debugging.html . So now I want to try
    > this crazy thing. I love the idea of being able to watch the values of
    > variables change in "realtime" as the program runs, from the
    > convenience of a little side window. I also love the concept of not
    > having to insert debugging code into the production code--just a click
    > in the left column and you set the debugging command. Keep the
    > production code clean by putting the debugging commands outside the
    > program.

    There are several Debugger plugins for VIm:
    http://www.vim.org/scripts/script_s..._by=rating&direction=descending&search=search

    They may all be for GDB, but if you can do it for GDB, you can do it with VIm.
    Also, since you can embed the python interpreter in VIm, you should be able to
    have even tighter control on a python debugger than a GDB debugger.

    >
    > * Source browser: the ability to jump back and forth between specific
    > blocks of code very quickly, and to see the overall layout of the file
    > in terms of classes, methods, functions, etc. I want the big picture in
    > a side window to keep me on task and remind me of how far I've come
    > when I start feeling bogged down in details.


    There are a million and one plugins to do this, search on vim.org

    >
    > * Autocompletion: PythonWin by ActiveState has nice autocompletion.
    > When I import a module, it can dive down into those namespaces and
    > allow autocompletion on them. That's a nice, productive feature.
    >

    Default part of VIm
    :help ctags
    :help completion

    > * Usage tips/tooltips: Also something I found in PythonWin. During the
    > writing of the method, a little tip box pops up advising me what the
    > inputs are for a method or an instance construction for a class. Very
    > nice, very productive.

    VIm 7 may support that out of the box since there were a lot of supporter
    votes for it:
    http://www.vim.org/sponsor/vote_results.php

    I think there are some plugins that will do this for you by updating the
    status area.


    >
    > * Linux compatibility: Nothing against Microsoft, or Apple, I just like
    > to use a Linux box more.
    >
    > It seems like the IDEs I've looked at have most of the features, but
    > none do Vim. Crazy.
    >
    > I agree that you can do all your coding using just Vim. That's how I've
    > been doing it. But following along with Greg Wilson's Software
    > Carpentry has made me realize that I could be more productive using the
    > additional, apparently now-standard tools of a good IDE. I just don't
    > want to sacrifice productivity in in keystrokes. It just seems like a
    > compromise programmers shouldn't have to make.
    >
    > the other Chris
    >
    > Chris Lambacher wrote:
    > > I would second that. I use Vim for editing. I find I don't need an IDE (not
    > > even for C/C++). Vim does everything I need. If I want a debugger I will use
    > > the shell debugger. Most other things can be added to Vim, though I tend to
    > > run with very few plugins.
    > >
    > > -Chris
    > >
    > >
    > > On Tue, Oct 18, 2005 at 05:12:30PM +0000, Ron Adam wrote:
    > > > What features are you looking for. I think most Vim users just add what
    > > > they want to Vim.
    > > >

    >
    > --
    > http://mail.python.org/mailman/listinfo/python-list
    Chris Lambacher, Oct 18, 2005
    #9
  10. Chris Lasher

    Guest

    Re: Vim IS a capable IDE [was Re: Vim capable IDE?]

    Chris Lambacher wrote:
    > > * Usage tips/tooltips: Also something I found in PythonWin. During the
    > > writing of the method, a little tip box pops up advising me what the
    > > inputs are for a method or an instance construction for a class. Very
    > > nice, very productive.

    > VIm 7 may support that out of the box since there were a lot of supporter
    > votes for it:
    > http://www.vim.org/sponsor/vote_results.php


    It will, Omni Complete (akin to "Intellisense" and such) is already in
    the Vim 7 tree.
    , Oct 18, 2005
    #10
  11. Chris Lasher

    Chris Lasher Guest

    Re: Vim IS a capable IDE [was Re: Vim capable IDE?]

    Thanks for the replies, guys! I had no idea Vim was capable of doing
    some of those things. The source browser in Vim is slick--I never would
    have known about that. As far as the GDB goes, it doesn't look like it
    has support for Python, but it's nice to know it's there for C if I get
    the chance to learn that language. Where do you guys go to learn all
    the capabilities of Vim? Just browsing through vim.org?

    The PIDA site is back up and running. It looks like a real winner! I'll
    have to download it and give it a whirl.

    Thanks again,
    Chris
    Chris Lasher, Oct 19, 2005
    #11
  12. Re: Vim IS a capable IDE [was Re: Vim capable IDE?]

    On Oct 19, Chris Lasher wrote:
    > Where do you guys go to learn all the capabilities of Vim? Just
    > browsing through vim.org?


    Just type:
    :h
    to see extensive info from the "User Manual", "Reference Manual", and
    any plugins.

    The near-comprehensive doc list:
    http://vimdoc.sourceforge.net/
    I don't see the "Reference Manual" there.

    The User Manual in PDF (which I printed really small on 14 pages and
    now carry in my backpack):
    http://www.eandem.co.uk/mrw/vim/usr_doc/index.html

    And the Vim Book (which I have only scanned):
    http://www.truth.sk/vim/vimbook-OPL.pdf

    --
    _ _ ___
    |\/|icah |- lliott http://micah.elliott.name
    " " """
    Micah Elliott, Oct 19, 2005
    #12
  13. Re: Vim IS a capable IDE [was Re: Vim capable IDE?]

    [Chris Lasher]

    > Thanks for the replies, guys! I had no idea Vim was capable of doing
    > some of those things.


    One detail which should be more widely known, in my opinion, is the
    capability of Vim (if compiled properly) to use Python has an extension
    language. That is, you may add new Vim commands to your liking
    (presuming you know how to program), writing them in Python.

    --
    Fran├žois Pinard http://pinard.progiciels-bpi.ca
    =?iso-8859-1?Q?Fran=E7ois?= Pinard, Oct 20, 2005
    #13
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. tocer
    Replies:
    0
    Views:
    459
    tocer
    Aug 28, 2004
  2. Daniel Folkes

    New to Vim and Vim-Python

    Daniel Folkes, Oct 24, 2007, in forum: Python
    Replies:
    3
    Views:
    531
    projecktzero
    Oct 25, 2007
  3. Guoliang Cao

    vim 6.2 + vim-ruby don't work

    Guoliang Cao, Oct 16, 2003, in forum: Ruby
    Replies:
    1
    Views:
    145
    Brett H. Williams
    Oct 16, 2003
  4. Vincent Foley
    Replies:
    6
    Views:
    131
    Gavin Sinclair
    Apr 10, 2006
  5. lolveley
    Replies:
    3
    Views:
    197
Loading...

Share This Page