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.