473,396 Members | 1,886 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Vim capable IDE?

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

Oct 18 '05 #1
12 3789
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
Oct 18 '05 #2
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 'o****@xiludom.gro'.split('@')])"
Oct 18 '05 #3
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

Oct 18 '05 #4
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


Oct 18 '05 #5
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>
Oct 18 '05 #6
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.

Oct 18 '05 #7
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.


Oct 18 '05 #8
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_se...&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

Oct 18 '05 #9
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 '05 #10
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

Oct 19 '05 #11
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 md*@micah.elliott.name
" " """
Oct 19 '05 #12
[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
Oct 20 '05 #13

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Andreas Jung | last post by:
Reportlab has some problems with creating PDFs from UTF8 encoded text. For this reason they are using a truetype font rina.ttf which looks *very ugly*. Does anyone know of a suitable free...
5
by: stephan beal | last post by:
Good afternoon, C++ers, (i hope this is not viewed as an advertisement or shameless plug, and i appologize if it is interpretted that way.) i have developed a template-based classloader which...
8
by: kris p | last post by:
I have to implement a project in .NET which might entail some lower level technical programming, and have to decide whether to use C# or VB.NET, is C# more capable than .NET or they just...
5
by: antigunder | last post by:
Hello everyone, I'm not new to programming so I don't think I'm going to have any problems picking up javascript. I just need to know if it's capable of what I want to do. I want to make a small <a...
25
by: Ryan Stewart | last post by:
I'm working on a project to collect web application usage statistics. What are the recommended ways of detecting whether a browser is JavaScript enabled and/or capable? Obviously I can write a...
5
by: Frederick J. Barnett | last post by:
I'm re-doing one of my web sites, and I'm considering finally making the jump to CSS. I've always resisted using it before out of worries that there are still a lot of non-CSS capable browsers out...
1
by: =?Utf-8?B?S2lt?= | last post by:
We are beginning to create a migration plan of a large system from IPv4 to IPv6. I must determine the IPv6 capability of each product on this system. This new question is with regard to ...
1
by: =?Utf-8?B?S2lt?= | last post by:
We are beginning to create a migration plan of a large system from IPv4 to IPv6. I must determine the capability of each product on this system. This new question is with regard to • Office...
1
by: dmitrey | last post by:
hi all, howto check is function capable of obtaining **kwargs? i.e. I have some funcs like def myfunc(a,b,c,...):... some like def myfunc(a,b,c,...,*args):... some like
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.