Andreas Niederl wrote:
Hi,
Andrei Hanganu wrote:
helo group,
i've been trying the past 2-3 years to find the most usable and nice ide
for c/c++ code writing. I've been through vim/vim + plugins/emacs +
different modes/anjuta/kdevelop/codeblocks/eclipse/netbeans ... every
single one of them has at least one drawback.
I'm thinking the more I get to know Vim and the available plugins, the
more it becomes like an IDE to me. I guess the same is true for Emacs.
My advice would be to take on of those or any other open IDE and learn
and extend them to the point that it's perfect for you.
Now for your feature requirements list I'm going to concentrate on Vim
and Emacs as those two are the ones I know.
In short words, i am looking for an ide that can do this:
- syntax highlighting
- concurrent editing of multiple files (splitting)
- tabs or buffer list
- file browser
- regex search/replace
Both Vim and Emacs can do these basic features.
Vim even provides a mechanism for saving and restoring editing sessions.
- autocomplete (on the fly, not on demand, and maybe smart? - identify
structures/classes )
Haven't tried it yet, but for Vim word_complete.vim[1] seems to be what
you're looking for. You should also have a look at Omnicompletion.
As Emacs has hooks for nearly everything it should be doable with it as
well.
- project manager
Don't know about that but it would be nice to have simpler project
specific settings for Emacs/Vim.
- symbol list/browser current editing buffer
That's pretty much ctags/etags, maybe cscope.
- flexible build options that include scons, not just makefile
You can put the following in ~/.vimrc:
autocmd BufEnter ~/path/to/project/* set makeprg=scons
- code folding (with detection of blocks)
Vim does it[2]; Emacs seems to have some kind of FoldingMode according
to Google.
- lightweight/ergonomic interface (i dislike space being occupied by the
bar that displays the line numbers, with a padding of 10px for example)
Both of them are very customisable in this regard.
i don't desire gdb or valgrind integration, but would be a +
Emacs features gdb integration and there's Clewn[3] for GVim.
As for me, I'm rather using a separate screen[4] window in the same session.
Regards,
Andi
[1] http://www.vim.org/scripts/script.php?script_id=73
[2] http://www.linux.com/articles/114138
[3] http://clewn.sourceforge.net/
[4] http://www.gnu.org/software/screen/
hello,
your suggestions are perfectly valid, but both vim and emacs suffer from
the same problem: inconsistency. A very varying group of people writes
these plugins, and if i could get 5 plugins to work correctly i would
reach what i am looking for. Unfortunately, one breaks down other two,
or vice versa. In emacs, which i think i've given the most time, i'm
using right now some panels that bring me the bufferlist, and a
filesystem browser, but they screw up the splitting of windows when the
bottom panel is displayed and the editor word wrap stops working when
browser is displayed. That's just a small description of the general
feeling, these plugins are great, but they usually work great when used
alone, or just one major plugin enabled.
i've checked out open/komodo, the main issue is that it is an ide
designed for web developing, not c compilation as far as i could see.
right now, codeblocks seems to be most functional, and i know they are
working on making split windows function better. I've also switched on
kde4 and latest kate (implies also new kdevelop) has a very interesting
functionality vim like input mode, which seems rather unnatural at
first, but i think it has a lot of potential. I've given some time to
yziss too, but as far as i can see the project has been paused. I like
very much the ideea of an IDE on top of a native VIM editor, and i'm
considering expanding gvim.
regards,
A.