Gentoo Archives: gentoo-user

From: Geralt <usr.gentoo@××××××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] perfect IDE
Date: Fri, 20 Feb 2009 10:52:27
Message-Id: fbdd0e50902200252s71a24f71v534004751a443c15@mail.gmail.com
In Reply to: Re: [gentoo-user] perfect IDE by Andreas Niederl
1 On Tue, Feb 17, 2009 at 9:32 PM, Andreas Niederl <rico32@×××.net> wrote:
2 > Hi,
3 >
4 > Andrei Hanganu wrote:
5 >> helo group,
6 >>
7 >> i've been trying the past 2-3 years to find the most usable and nice ide
8 >> for c/c++ code writing. I've been through vim/vim + plugins/emacs +
9 >> different modes/anjuta/kdevelop/codeblocks/eclipse/netbeans ... every
10 >> single one of them has at least one drawback.
11 >
12 > I'm thinking the more I get to know Vim and the available plugins, the
13 > more it becomes like an IDE to me. I guess the same is true for Emacs.
14 >
15 > My advice would be to take on of those or any other open IDE and learn
16 > and extend them to the point that it's perfect for you.
17 >
18 >
19 I can only give the same advice. I'm mainly an Emacs user, so I think
20 I can fill in the parts you've missed below :-)
21 Oh and (to everybody) Emacs is one thing especially: customizable. You
22 have to work a bit with Emacs to really understand this (because most
23 editors/programs are customizable these days). But enough advertising
24 ;-)
25
26 >> In short words, i am looking for an ide that can do this:
27 >> - syntax highlighting
28 >> - concurrent editing of multiple files (splitting)
29 >> - tabs or buffer list
30 >> - file browser
31 >> - regex search/replace
32 >
33 > Both Vim and Emacs can do these basic features.
34 > Vim even provides a mechanism for saving and restoring editing sessions.
35 >
36 >
37 A file browser is provided by ECB and I have never encountered any
38 minibuffer issues you've mentioned below. I also never encountered any
39 incompatibilities between different customizations and I'm running a
40 lot. Of course you can't use two that do the same thing, but I think
41 that's clear (and usually the last one overrides the first, so no
42 issues there).
43 Restoring and saving sessions is, of course, possible, too :-), see here[1]
44
45 >> - autocomplete (on the fly, not on demand, and maybe smart? - identify
46 >> structures/classes )
47 >
48 > Haven't tried it yet, but for Vim word_complete.vim[1] seems to be what
49 > you're looking for. You should also have a look at Omnicompletion.
50 >
51 > As Emacs has hooks for nearly everything it should be doable with it as
52 > well.
53 >
54 >
55 It's possible in Emacs, and how to set it up see here[2], the package
56 you'll see in the link, CEDET, is a complete IDE framework and not
57 just auto-completion (but you can use only parts of it!), it's used
58 for example in ECB and JDEE[3]
59
60 >> - project manager
61 >
62 > Don't know about that but it would be nice to have simpler project
63 > specific settings for Emacs/Vim.
64 >
65 >
66 For Emacs there's EDE, it's part of CEDET.
67
68 >> - symbol list/browser current editing buffer
69 >
70 > That's pretty much ctags/etags, maybe cscope.
71 >
72 >
73 And in addition you can browse this stuff with CEDET, see[1] for details.
74
75
76 >> - flexible build options that include scons, not just makefile
77 >
78 > You can put the following in ~/.vimrc:
79 > autocmd BufEnter ~/path/to/project/* set makeprg=scons
80 >
81 >
82 In Emacs you can use whatever you want to build your project, because
83 there is no classic restriction called project like all these new IDEs
84 have, but if you want there's EDE.
85
86
87 >> - code folding (with detection of blocks)
88 >
89 > Vim does it[2]; Emacs seems to have some kind of FoldingMode according
90 > to Google.
91 >
92 >
93 Yes, there is, it's called hs-minor-mode.
94
95 >> - lightweight/ergonomic interface (i dislike space being occupied by the
96 >> bar that displays the line numbers, with a padding of 10px for example)
97 >
98 > Both of them are very customisable in this regard.
99 >
100 >
101 If you've customized Emacs alot, and for Vim that probably true too,
102 the startup is a bit slower, but you have several possibilities here:
103 1) start Emacs as server (that's just a normal Emacs but clients can
104 attach) and edit your files by running emacsclient and in Emacs 23
105 (not yet released) you can daemonize Emacs and attach as many
106 instances of Emacs as you want (even from ttys and X at the same
107 time!)
108 2) start Emacs -Q (no customizations will be loaded)
109 3) use a vanilla Vim (which I do often when I'm editing config files)
110
111 >> i don't desire gdb or valgrind integration, but would be a +
112 >
113 > Emacs features gdb integration and there's Clewn[3] for GVim.
114 > As for me, I'm rather using a separate screen[4] window in the same session.
115 >
116 >
117 Why don't you desire that? What's the purpose of an IDE if you don't
118 want an integrated debugger? In Emacs run gdb and then
119 gdb-many-windows (then debugging looks the same as in all these IDEs,
120 you have a stack window, local variables window, source view,
121 registers and so on).
122
123 >
124 > Regards,
125 > Andi
126 >
127 > [1] http://www.vim.org/scripts/script.php?script_id=73
128 > [2] http://www.linux.com/articles/114138
129 > [3] http://clewn.sourceforge.net/
130 > [4] http://www.gnu.org/software/screen/
131 >
132 >
133
134
135 Oh and be aware that there's no single way in Emacs to do something
136 and I've told you just the way I do it or the one I know of.
137
138
139
140
141 Geralt.
142
143
144
145 [1]http://www.emacswiki.org/emacs/SessionManagement
146 [2]http://xtalk.msk.su/~ott/en/writings/emacs-devenv/EmacsCedet.html
147 [3]http://jdee.sourceforge.net/