all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Emacs as a C Programming IDE Configuration?
@ 2011-04-27  6:47 haziz
  2011-04-27  9:11 ` Jorgen Grahn
                   ` (3 more replies)
  0 siblings, 4 replies; 24+ messages in thread
From: haziz @ 2011-04-27  6:47 UTC (permalink / raw)
  To: help-gnu-emacs

I use emacs as my main IDE for programming in C. I am exploring ways of configuring emacs to function more as an IDE rather than as a simple text editor. Of course I want syntax highlighting and preferably some code completion. I also want separate buffers to allow shell commands and to M-x compile. I want it to open into this multi-buffer form automatically when visiting a C source file, rather than having to launch each buffer separately. I will be using this mainly for Linux/BSD Unix development, though I also code on Mac OS X (again Unix) and Windows (Windows 7 64bit).

I explored the Emacs Starter Kit posted by Phil Hagelberg (technomancy), but it seems very oriented towards dynamic languages and use of git. I use emacs mainly for developing in C and use mercurial for VC. I am also a relative newbie making configuration of emacs relatively daunting for me.

I am now playing with CEDET and the Emacs Code Browser (ECB) package which is more along the lines of what I want, but is still not perfect.

Any suggestions on customizing emacs as a C programming IDE welcome.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-04-27  6:47 Emacs as a C Programming IDE Configuration? haziz
@ 2011-04-27  9:11 ` Jorgen Grahn
  2011-04-27 16:04   ` despen
  2011-05-26 14:54   ` Richard Riley
  2011-04-27 18:26 ` Colin S. Miller
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 24+ messages in thread
From: Jorgen Grahn @ 2011-04-27  9:11 UTC (permalink / raw)
  To: help-gnu-emacs

On Wed, 2011-04-27, haziz wrote:

> I use emacs as my main IDE for programming in C. I am exploring ways
> of configuring emacs to function more as an IDE rather than as a
> simple text editor.

Emacs *isn't* a simple text editor. But it works differently from
whatever IDE you are used to.

> Of course I want syntax highlighting

(global-font-lock-mode 1)
if it isn't already enabled by default.

> and preferably some code completion.

M-x dabbrev-expand
or
M-/

Not quite code completion, but more general and IMO more useful.

> I also want separate buffers to allow shell commands and to M-x
> compile.

These exist already. M-x compile opens a buffer if needed; before that
you don't need it.

> I want it to open into this
> multi-buffer form automatically when visiting a C source file, rather
> than having to launch each buffer separately.

I get the feeling you have other requirements which I haven't
understood yet.  Doing one 'M-x shell' doesn't seem to me like
something that has to be automated.

/Jorgen

-- 
  // Jorgen Grahn <grahn@  Oo  o.   .  .
\X/     snipabacken.se>   O  o   .


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-04-27  9:11 ` Jorgen Grahn
@ 2011-04-27 16:04   ` despen
  2011-04-28  6:26     ` Jorgen Grahn
                       ` (2 more replies)
  2011-05-26 14:54   ` Richard Riley
  1 sibling, 3 replies; 24+ messages in thread
From: despen @ 2011-04-27 16:04 UTC (permalink / raw)
  To: help-gnu-emacs

Jorgen Grahn <grahn+nntp@snipabacken.se> writes:

> On Wed, 2011-04-27, haziz wrote:
>
>> I use emacs as my main IDE for programming in C. I am exploring ways
>> of configuring emacs to function more as an IDE rather than as a
>> simple text editor.
>
> Emacs *isn't* a simple text editor. But it works differently from
> whatever IDE you are used to.
>
>> Of course I want syntax highlighting
>
> (global-font-lock-mode 1)
> if it isn't already enabled by default.
>
>> and preferably some code completion.
>
> M-x dabbrev-expand
> or
> M-/
>
> Not quite code completion, but more general and IMO more useful.
>
>> I also want separate buffers to allow shell commands and to M-x
>> compile.
>
> These exist already. M-x compile opens a buffer if needed; before that
> you don't need it.
>
>> I want it to open into this
>> multi-buffer form automatically when visiting a C source file, rather
>> than having to launch each buffer separately.
>
> I get the feeling you have other requirements which I haven't
> understood yet.  Doing one 'M-x shell' doesn't seem to me like
> something that has to be automated.

More important, a true emacs user has little need for a shell.

The Makefile should launch any tests needed.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-04-27  6:47 Emacs as a C Programming IDE Configuration? haziz
  2011-04-27  9:11 ` Jorgen Grahn
@ 2011-04-27 18:26 ` Colin S. Miller
  2011-04-30  0:07   ` haziz
  2011-04-29 12:21 ` hjuvi
  2011-05-26 13:50 ` Richard Riley
  3 siblings, 1 reply; 24+ messages in thread
From: Colin S. Miller @ 2011-04-27 18:26 UTC (permalink / raw)
  To: help-gnu-emacs

On 27/04/11 07:47, haziz wrote:
> I also want separate buffers to allow shell commands and to M-x compile.
 > I want it to open into this multi-buffer form automatically when visiting a C source file,
 > rather than having to launch each buffer separately.


Haziz,

I think you are getting confused between a 'buffer', a 'window' and a 'frame'.

In Emacs,
When a file is opened it is read into a buffer; there is normally a one-to-one mapping between
the file and the buffer. (make-indirect-buffer does violate this; but is not relevant here).
A buffer can also have no file associated with it, such as *scratch*, *compilation* etc.

A 'window' is what most other editors call a (non-tiling) MDI child window.
A 'frame' is what most other editors call a top-level window.

Each window displays the contents of one buffer;
M-x displayer-buffer   or M-x 4 C-o  will buffer the current window is currently displaying.

Each frame displays one or more windows,
C-x 2 or C-x 3 will half the size of the current window, and create a new window
to take the remaining space. Both the current and new windows will display the current buffer.


I hope that is a bit clearer,
Colin S. Miller

-- 
Replace the obvious in my email address with the first three letters of the hostname to reply.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-04-27 16:04   ` despen
@ 2011-04-28  6:26     ` Jorgen Grahn
  2011-05-09  1:38     ` David Combs
  2011-05-26 14:56     ` Richard Riley
  2 siblings, 0 replies; 24+ messages in thread
From: Jorgen Grahn @ 2011-04-28  6:26 UTC (permalink / raw)
  To: help-gnu-emacs

On Wed, 2011-04-27, despen@verizon.net wrote:
> Jorgen Grahn <grahn+nntp@snipabacken.se> writes:
>
>> On Wed, 2011-04-27, haziz wrote:
...
>>> I want it to open into this
>>> multi-buffer form automatically when visiting a C source file, rather
>>> than having to launch each buffer separately.
>>
>> I get the feeling you have other requirements which I haven't
>> understood yet.  Doing one 'M-x shell' doesn't seem to me like
>> something that has to be automated.
>
> More important, a true emacs user has little need for a shell.

Well, anybody can call himself a true emacs user (even though I myself
is arguing that Haziz shouldn't try to turn Emacs into a "traditional"
IDE).

> The Makefile should launch any tests needed.

Unit tests: yes, definitely. But there are lots of things that don't
fit into the Makefile.

Personally, I always run a shell in a separate terminal emulator (or
many in a screen(1) session). I'm sure I could have used M-x shell
instead, but that's how I learned it.

/Jorgen

-- 
  // Jorgen Grahn <grahn@  Oo  o.   .  .
\X/     snipabacken.se>   O  o   .


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-04-27  6:47 Emacs as a C Programming IDE Configuration? haziz
  2011-04-27  9:11 ` Jorgen Grahn
  2011-04-27 18:26 ` Colin S. Miller
@ 2011-04-29 12:21 ` hjuvi
  2011-05-02  3:24   ` rusi
  2011-05-26 13:50 ` Richard Riley
  3 siblings, 1 reply; 24+ messages in thread
From: hjuvi @ 2011-04-29 12:21 UTC (permalink / raw)
  To: help-gnu-emacs

This is a litlle bit biased because I'm the author of the package, but
I suggest you have a look at this:
http://home.gna.org/emacs-ide/
"True" emacs users might not like it, because it does try to turn
Emacs into a "traditionnal" IDE, but some people find it very
useful... :)


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-04-27 18:26 ` Colin S. Miller
@ 2011-04-30  0:07   ` haziz
  0 siblings, 0 replies; 24+ messages in thread
From: haziz @ 2011-04-30  0:07 UTC (permalink / raw)
  To: help-gnu-emacs

> 
> A 'window' is what most other editors call a (non-tiling) MDI child window.
> A 'frame' is what most other editors call a top-level window.
> 



I stand corrected. I meant a multi-window frame displaying the different buffers. I realize the "M-x compile" window need only be invoked once it is time to compile the code.

Thanks.

Sincerely,

Hany.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-04-29 12:21 ` hjuvi
@ 2011-05-02  3:24   ` rusi
  2011-05-02  8:44     ` hjuvi
  0 siblings, 1 reply; 24+ messages in thread
From: rusi @ 2011-05-02  3:24 UTC (permalink / raw)
  To: help-gnu-emacs

On Apr 29, 5:21 pm, hjuvi <hjuvi-goo...@yahoo.fr> wrote:
> This is a litlle bit biased because I'm the author of the package, but
> I suggest you have a look at this:http://home.gna.org/emacs-ide/
> "True" emacs users might not like it, because it does try to turn
> Emacs into a "traditionnal" IDE, but some people find it very
> useful... :)

Very interesting...
I dont want to get into the whats-a-true-emacs-user argument

On the one hand Ive used emacs for just 20 years and seem to know less
and less of it with each passing year :-)

However I use enough of it that if emacs-ide changes things
significantly (outside of the ide part which of course is fine) I'd
have a bit of a wrestling match.

Can you elaborate a bit on this aspect?


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-05-02  3:24   ` rusi
@ 2011-05-02  8:44     ` hjuvi
  2011-05-02  9:29       ` Re : " hjuvi
  0 siblings, 1 reply; 24+ messages in thread
From: hjuvi @ 2011-05-02  8:44 UTC (permalink / raw)
  To: help-gnu-emacs

> Very interesting...
> I dont want to get into the whats-a-true-emacs-user argument

I don't want either... :) Just wanted to warn people that they might
not like some settings that override emacs or user settings.
But people who are not used to emacs might appreciate these settings.

> However I use enough of it that if emacs-ide changes things
> significantly (outside of the ide part which of course is fine) I'd
> have a bit of a wrestling match.
>
> Can you elaborate a bit on this aspect?

I understand and I think I should also elaborate on project homepage.
For the moment, I have mentioned a few things in section "Please note
that Emacs-IDE...".

The history is : I started writing my own .emacs file, with my own
settings, my own colors, and, little by little, I have added keys
shortcuts (for tags, cscope...), and menu facilities to browse the
code. Some other people started to use it, and it turned into a GPL
project. But some of my own settings are still present.

Little by little (since version 1.5), I try to remove personnal
settings, or make them "optional".

What is changed, compared to Emacs ?
- I have redefined F1-F12 keys, for tags, cscope, grep, compilation...
I know these keys should be reserved for user, so I'll try to make
these key bindings optional in future versions, but I believe that it
is much more easy to browse code through tags with F1 and F2 than with
M-* and M-.
- I change all colors for syntax highlighting : it has become optional
since version 1.5 (but the default value of this option is "yes", I
might change that in the future...)
- I have redefined right click : it is an easy way to make menu window
on the right side, and output window below (see screenshot) disappear,
to read the source code "full frame", and get them back afterwards. It
also make some popup menu appears depending on where you click : in
output window, it gives the list of all past searches (grep or
cscope), that you can display again, and in menu window, it gives a
general menu, or - if you click on a filename - it gives a popup menu
with commands related to the file (close, indent, svn diff...). I
don't know, at this moment, how to make it optionnal. There is no
alternative for these right clicks - which depends on mouse
position...
- I have disabled tool bar and menu bar, because I believe that my own
menu should be enough, but this will be optional in the next version.

Another particularity of the package is that it needs to be enabled at
startup, in .emacs, because it loads .emacs.desktop in the directory
where emacs is launched, which must be the root directory of the
project.

So the main idea, now, is to make Emacs-IDE as compliant as possible
with Emacs requirements, without removing settings that I - and other
people - appreciate, but making them optional instead.

I have not received much feedback, but when I have, it was always
positive - sometime with suggestions that I have taken into account
for next versions.
So I believe that people appreciate some of these non-conventional
settings :)
Any suggestion is welcomed. Thanks for your interest.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re : Re: Emacs as a C Programming IDE Configuration?
  2011-05-02  8:44     ` hjuvi
@ 2011-05-02  9:29       ` hjuvi
  0 siblings, 0 replies; 24+ messages in thread
From: hjuvi @ 2011-05-02  9:29 UTC (permalink / raw)
  To: help-gnu-emacs

I have forgotten a few things that I should mention...
Globally, the idea is that many default settings are not convenient (at least for me)...
- I have redefined Alt-left/down/right keys for cut/copy/paste : standard shortcuts are not easy...
- scrolling bar on left side: emacs is the only application to put it on left side. In Emacs-IDE, I've changed it to right side, this is not optional yet...
- on older versions of Emacs, mouse wheel mode was not set, I enable it.
- mouse-wheel-progressive-speed is disabled, I find it awful...
- There are some other little options that I have redefined because I don't like the default setting (I can't list them all, see http://svn.gna.org/viewcvs/emacs-ide/tags/1.6/src/eide.el?revision=68&view=markup - NB: this is not up-to-date, I have already removed some of them, but this is the last official release).

Maybe I should define a global option to make all of these personnal settings optional.

But in the beginning, the idea was to provide a user-friendly IDE. And many default settings are not user-friendly to me.
Also many useful options are not set by default, whereas they are very useful in the context of an IDE: which-function-mode, line-number-mode, column-number-mode, show-paren-mode...


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-04-27 16:04   ` despen
  2011-04-28  6:26     ` Jorgen Grahn
@ 2011-05-09  1:38     ` David Combs
  2011-05-09  1:42       ` Pascal J. Bourguignon
  2011-05-09  3:33       ` despen
  2011-05-26 14:56     ` Richard Riley
  2 siblings, 2 replies; 24+ messages in thread
From: David Combs @ 2011-05-09  1:38 UTC (permalink / raw)
  To: help-gnu-emacs

In article <icbozrvfyj.fsf@verizon.net>,  <despen@verizon.net> wrote:
>Jorgen Grahn <grahn+nntp@snipabacken.se> writes:
>
...
>
>More important, a true emacs user has little need for a shell.

You gotta be kidding -- no use for M-x shell????

David





^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-05-09  1:38     ` David Combs
@ 2011-05-09  1:42       ` Pascal J. Bourguignon
  2011-05-09 16:30         ` Ted Zlatanov
  2011-05-09  3:33       ` despen
  1 sibling, 1 reply; 24+ messages in thread
From: Pascal J. Bourguignon @ 2011-05-09  1:42 UTC (permalink / raw)
  To: help-gnu-emacs

dkcombs@panix.com (David Combs) writes:

> In article <icbozrvfyj.fsf@verizon.net>,  <despen@verizon.net> wrote:
>>Jorgen Grahn <grahn+nntp@snipabacken.se> writes:
>>
> ...
>>
>>More important, a true emacs user has little need for a shell.
>
> You gotta be kidding -- no use for M-x shell????

Almost none.  You can always use M-! <command> RET


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-05-09  1:38     ` David Combs
  2011-05-09  1:42       ` Pascal J. Bourguignon
@ 2011-05-09  3:33       ` despen
  2011-05-09 12:53         ` Jorgen Grahn
  1 sibling, 1 reply; 24+ messages in thread
From: despen @ 2011-05-09  3:33 UTC (permalink / raw)
  To: help-gnu-emacs

dkcombs@panix.com (David Combs) writes:

> In article <icbozrvfyj.fsf@verizon.net>,  <despen@verizon.net> wrote:
>>Jorgen Grahn <grahn+nntp@snipabacken.se> writes:
>>
> ...
>>
>>More important, a true emacs user has little need for a shell.
>
> You gotta be kidding -- no use for M-x shell????

Well, your first hint was "true emacs user".

Of course that is tongue in cheek.  

I probably have the same definition of "true emacs user" as any other
sensible person has.

I used M-x shell for a few weeks and haven't been back in years.
Hence, my statement.

I'm under no illusion that others won't agree with me, but I have little
choice in the viewpoints I express.  They all seem to be mine no matter
what I do.

Anyway, just about everything I do is Makefile based.  I see lots of
people use Makefiles for the compile phase but I find  that the test
phase is intricately linked to the development phase and I combine both
operations.

It works for me and it works well, so I'll continue to push the viewpoint
unless someone can explain why it's better to jump into M-x shell and
start firing off random commands as if they may never have to issue them
again or somehow they won't work as well in the compile buffer.


-- 
Dan Espen


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-05-09  3:33       ` despen
@ 2011-05-09 12:53         ` Jorgen Grahn
  0 siblings, 0 replies; 24+ messages in thread
From: Jorgen Grahn @ 2011-05-09 12:53 UTC (permalink / raw)
  To: help-gnu-emacs

On Mon, 2011-05-09, despen@verizon.net wrote:
...
> Anyway, just about everything I do is Makefile based.  I see lots of
> people use Makefiles for the compile phase but I find  that the test
> phase is intricately linked to the development phase and I combine both
> operations.

Agreed. "make check" should rebuild the automated tests if needed, and
execute them.

> It works for me and it works well, so I'll continue to push the viewpoint
> unless someone can explain why it's better to jump into M-x shell and
> start firing off random commands

That's quite a big leap from "the Makefile should run the unit tests"
to "there is nothing you may want to do in a shell".

> as if they may never have to issue them again

Modern shells (at least tcsh, bash and zsh) have persistent history
and incremental search.  I rarely have to type a complex command
from scratch, if I did something similar in the past few weeks.

/Jorgen

-- 
  // Jorgen Grahn <grahn@  Oo  o.   .  .
\X/     snipabacken.se>   O  o   .


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-05-09  1:42       ` Pascal J. Bourguignon
@ 2011-05-09 16:30         ` Ted Zlatanov
  2011-05-09 16:52           ` Pascal J. Bourguignon
  2011-05-21 23:27           ` David Combs
  0 siblings, 2 replies; 24+ messages in thread
From: Ted Zlatanov @ 2011-05-09 16:30 UTC (permalink / raw)
  To: help-gnu-emacs

On Mon, 09 May 2011 03:42:00 +0200 "Pascal J. Bourguignon" <pjb@informatimago.com> wrote: 

PJB> dkcombs@panix.com (David Combs) writes:
>> In article <icbozrvfyj.fsf@verizon.net>,  <despen@verizon.net> wrote:
>>> Jorgen Grahn <grahn+nntp@snipabacken.se> writes:
>>> 
>> ...
>>> 
>>> More important, a true emacs user has little need for a shell.
>> 
>> You gotta be kidding -- no use for M-x shell????

PJB> Almost none.  You can always use M-! <command> RET

Let's not forget eshell, the Adventure shell, and zsh.

Oh, and some consider Tcl/Tk's `wish' a "simple windowing shell" ;)

Ted


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-05-09 16:30         ` Ted Zlatanov
@ 2011-05-09 16:52           ` Pascal J. Bourguignon
  2011-05-21 23:27           ` David Combs
  1 sibling, 0 replies; 24+ messages in thread
From: Pascal J. Bourguignon @ 2011-05-09 16:52 UTC (permalink / raw)
  To: help-gnu-emacs

Ted Zlatanov <tzz@lifelogs.com> writes:

> On Mon, 09 May 2011 03:42:00 +0200 "Pascal J. Bourguignon" <pjb@informatimago.com> wrote: 
>
> PJB> dkcombs@panix.com (David Combs) writes:
>>> In article <icbozrvfyj.fsf@verizon.net>,  <despen@verizon.net> wrote:
>>>> Jorgen Grahn <grahn+nntp@snipabacken.se> writes:
>>>> 
>>> ...
>>>> 
>>>> More important, a true emacs user has little need for a shell.
>>> 
>>> You gotta be kidding -- no use for M-x shell????
>
> PJB> Almost none.  You can always use M-! <command> RET
>
> Let's not forget eshell, the Adventure shell, and zsh.

Yes, Adventure shell is the only shell worth using with M-x shell, along
with:

> Oh, and some consider Tcl/Tk's `wish' a "simple windowing shell" ;)

      scsh.


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-05-09 16:30         ` Ted Zlatanov
  2011-05-09 16:52           ` Pascal J. Bourguignon
@ 2011-05-21 23:27           ` David Combs
  2011-05-22  0:17             ` Pascal J. Bourguignon
                               ` (2 more replies)
  1 sibling, 3 replies; 24+ messages in thread
From: David Combs @ 2011-05-21 23:27 UTC (permalink / raw)
  To: help-gnu-emacs

In article <87aaevet0y.fsf@lifelogs.com>,
Ted Zlatanov  <tzz@lifelogs.com> wrote:
>On Mon, 09 May 2011 03:42:00 +0200 "Pascal J. Bourguignon" <pjb@informatimago.com> wrote: 
>
>PJB> dkcombs@panix.com (David Combs) writes:
>>> In article <icbozrvfyj.fsf@verizon.net>,  <despen@verizon.net> wrote:
>>>> Jorgen Grahn <grahn+nntp@snipabacken.se> writes:
>>>> 
>>> ...
>>>> 
>>>> More important, a true emacs user has little need for a shell.
>>> 
>>> You gotta be kidding -- no use for M-x shell????
>
>PJB> Almost none.  You can always use M-! <command> RET
>

       (FYI: Myself, I do M-x shell, then an immediate tcsh.)

But with *shell* you at least get to *keep* (up-screen) a record
of what's happened, what results you got from giving your shell
commands.

Pretty nice to be able to whip (way) up-screen to find prior commands,
copy them down to "now", make changes to them, and try again.

For me, beats the heck out of getting a single-cmd-and-result
*Shell Command Output*, then if I want to keep it around, having
to rename-buffer it.

Having all the commands, with their results, in one place
allows easy M-x occur, or just plain "history".


>Let's not forget eshell, the Adventure shell, and zsh.
>

I tried eshell once, never quite got what the advantages
were.  

Adventure shell: never heard of it -- from a bit of
googling it seems that you do shell commands as part
of playing a GAME?  When I'm trying to get something *done*?
Can someone please elaborate a bit?  Thanks.


>Oh, and some consider Tcl/Tk's `wish' a "simple windowing shell" ;)
>
>Ted

So what's wrong with tcsh, with tons of aliases?  Seems pretty
optimum to me!  (But am very willing to be educated on alternatives,
as long as I can understand the true advantages.)


Thanks,

David




^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-05-21 23:27           ` David Combs
@ 2011-05-22  0:17             ` Pascal J. Bourguignon
  2011-05-22 18:47             ` Stefan Monnier
  2011-05-23 14:50             ` Ted Zlatanov
  2 siblings, 0 replies; 24+ messages in thread
From: Pascal J. Bourguignon @ 2011-05-22  0:17 UTC (permalink / raw)
  To: help-gnu-emacs

dkcombs@panix.com (David Combs) writes:

> Adventure shell: never heard of it -- from a bit of
> googling it seems that you do shell commands as part
> of playing a GAME?  When I'm trying to get something *done*?
> Can someone please elaborate a bit?  Thanks.

It would be best if you tried it.

http://nadvsh.sourceforge.net/

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-05-21 23:27           ` David Combs
  2011-05-22  0:17             ` Pascal J. Bourguignon
@ 2011-05-22 18:47             ` Stefan Monnier
  2011-05-22 19:35               ` Jorgen Grahn
  2011-05-23 14:50             ` Ted Zlatanov
  2 siblings, 1 reply; 24+ messages in thread
From: Stefan Monnier @ 2011-05-22 18:47 UTC (permalink / raw)
  To: help-gnu-emacs

> I tried eshell once, never quite got what the advantages were.

It works about as well under any OS and is tightly integrated with
Emacs.  It also has significant disadvantages, admittedly.

> Adventure shell: never heard of it -- from a bit of
> googling it seems that you do shell commands as part
> of playing a GAME?  When I'm trying to get something *done*?

Thing of it as something along the lines of M-x doctor: once you've
tried it, you'll wonder how anyone ever managed to get any work done
without it.

> So what's wrong with tcsh, with tons of aliases?

Brain-dead quoting rules, and inconvenient syntax for scripts.
So I switched to zsh which offered pretty much all the features I was
using of tcsh.  I guess nowadays even bash offers all those features.


        Stefan


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-05-22 18:47             ` Stefan Monnier
@ 2011-05-22 19:35               ` Jorgen Grahn
  0 siblings, 0 replies; 24+ messages in thread
From: Jorgen Grahn @ 2011-05-22 19:35 UTC (permalink / raw)
  To: help-gnu-emacs

On Sun, 2011-05-22, Stefan Monnier wrote:
...
>> So what's wrong with tcsh, with tons of aliases?
>
> Brain-dead quoting rules, and inconvenient syntax for scripts.
> So I switched to zsh which offered pretty much all the features I was
> using of tcsh.  I guess nowadays even bash offers all those features.

I was going to say that I miss histdup=erase from bash, but now that I
check I find that modern versions have HISTCONTROL erasedups.

I too have switched from tcsh to zsh, but sometimes you're stuck with
bash.

/Jorgen

-- 
  // Jorgen Grahn <grahn@  Oo  o.   .  .
\X/     snipabacken.se>   O  o   .


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-05-21 23:27           ` David Combs
  2011-05-22  0:17             ` Pascal J. Bourguignon
  2011-05-22 18:47             ` Stefan Monnier
@ 2011-05-23 14:50             ` Ted Zlatanov
  2 siblings, 0 replies; 24+ messages in thread
From: Ted Zlatanov @ 2011-05-23 14:50 UTC (permalink / raw)
  To: help-gnu-emacs

On Sat, 21 May 2011 23:27:58 +0000 (UTC) dkcombs@panix.com (David Combs) wrote: 

DC> In article <87aaevet0y.fsf@lifelogs.com>,
DC> Ted Zlatanov  <tzz@lifelogs.com> wrote:
>> Let's not forget eshell, the Adventure shell, and zsh.

DC> I tried eshell once, never quite got what the advantages
DC> were.  

It runs Emacs Lisp.

DC> Adventure shell: never heard of it -- from a bit of googling it
DC> seems that you do shell commands as part of playing a GAME?  When
DC> I'm trying to get something *done*?  Can someone please elaborate a
DC> bit?  Thanks.

Heh heh.  I see you didn't spend half your college years playing Nethack.

DC> So what's wrong with tcsh, with tons of aliases?  Seems pretty
DC> optimum to me!  (But am very willing to be educated on alternatives,
DC> as long as I can understand the true advantages.)

tcsh is not terrible, but once you try zsh, especially its completion
mechanism, any other shell seems underpowered.  zmv is very nice, too (a
built-in mass renaming mechanism).

Ted


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-04-27  6:47 Emacs as a C Programming IDE Configuration? haziz
                   ` (2 preceding siblings ...)
  2011-04-29 12:21 ` hjuvi
@ 2011-05-26 13:50 ` Richard Riley
  3 siblings, 0 replies; 24+ messages in thread
From: Richard Riley @ 2011-05-26 13:50 UTC (permalink / raw)
  To: help-gnu-emacs

haziz <hsaziz@gmail.com> writes:

> I use emacs as my main IDE for programming in C. I am exploring ways of
> configuring emacs to function more as an IDE rather than as a simple text
> editor. Of course I want syntax highlighting and preferably some code
> completion. I also want separate buffers to allow shell commands and to M-x
> compile. I want it to open into this multi-buffer form automatically when
> visiting a C source file, rather than having to launch each buffer separately. I
> will be using this mainly for Linux/BSD Unix development, though I also code on
> Mac OS X (again Unix) and Windows (Windows 7 64bit).
>
> I explored the Emacs Starter Kit posted by Phil Hagelberg (technomancy), but it
> seems very oriented towards dynamic languages and use of git. I use emacs mainly
> for developing in C and use mercurial for VC. I am also a relative newbie making
> configuration of emacs relatively daunting for me.
>
> I am now playing with CEDET and the Emacs Code Browser (ECB) package which is more along the lines of what I want, but is still not perfect.
>
> Any suggestions on customizing emacs as a C programming IDE welcome.
>

auto-complete is far and away the best completion system IMO. I am sure
it can interface to CEDET/Semantic - if you can get CEDET installed and
working properly - it seems many people can not and moved away from
it. Recent "bovine errors" in javascript files caused me to turn it off
again. Here is an out of date c setup I used for a while : it shows
integration of lint, cdecl and make for a start : navigation of make
errors etc.

http://www.richardriley.net/projects/emacs/dotprogramming#sec-1_1

It also includes some gdb integration, but I stopped using gdb some time
ago as the emacs integration seemed to keep freezing. It might be ok
again. Try it.

The underlying VCS shouldnt be an issue :both magit and the newer egg
are super emacs interfaces to git. But of course legacy can not always
be lost ;) I cant comment on the mercurial interfaces to emacs.

Use global or xcscope for your tagging. I prefer the idea of gnu global
but the documentation is a obstacle imo. The global htags (html source
code map) is a really nice bonus with global so it might be worth
persevering with.

If you google "emacs google gtags" you will find code which auto updates
your tags file when you save your files too.

best of luck!

r.





^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-04-27  9:11 ` Jorgen Grahn
  2011-04-27 16:04   ` despen
@ 2011-05-26 14:54   ` Richard Riley
  1 sibling, 0 replies; 24+ messages in thread
From: Richard Riley @ 2011-05-26 14:54 UTC (permalink / raw)
  To: help-gnu-emacs

Jorgen Grahn <grahn+nntp@snipabacken.se> writes:

> On Wed, 2011-04-27, haziz wrote:
>
>> I use emacs as my main IDE for programming in C. I am exploring ways
>> of configuring emacs to function more as an IDE rather than as a
>> simple text editor.
>
> Emacs *isn't* a simple text editor. But it works differently from
> whatever IDE you are used to.
>
>> Of course I want syntax highlighting
>
> (global-font-lock-mode 1)
> if it isn't already enabled by default.
>
>> and preferably some code completion.
>
> M-x dabbrev-expand
> or
> M-/

?

>
> Not quite code completion, but more general and IMO more useful.

To be blunt, Its nowhere near code completion and no where near as
useful - dabbrev has its place but not as an intelligent inline
class/type based code completion utility. For that you can use gtags,
semantic and auto-complete or possibly even the built in cedet
completion mechanisms (which are not as powerful as auto-complete aince
ac is more general and allows the same completion mechanism in different
modes using different completion candidates.







^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Emacs as a C Programming IDE Configuration?
  2011-04-27 16:04   ` despen
  2011-04-28  6:26     ` Jorgen Grahn
  2011-05-09  1:38     ` David Combs
@ 2011-05-26 14:56     ` Richard Riley
  2 siblings, 0 replies; 24+ messages in thread
From: Richard Riley @ 2011-05-26 14:56 UTC (permalink / raw)
  To: help-gnu-emacs

despen@verizon.net writes:

> Jorgen Grahn <grahn+nntp@snipabacken.se> writes:
>
>> I get the feeling you have other requirements which I haven't
>> understood yet.  Doing one 'M-x shell' doesn't seem to me like
>> something that has to be automated.
>
> More important, a true emacs user has little need for a shell.
>
> The Makefile should launch any tests needed.
>

I dont agree with that sweeping statement at all. I use shell ALL the
time. Possibly you mean dont need the shell for compiling? In that case
I would agree that emacs has enough interfaces to make and gcc format
errors etc to make the shell redundant in that respect.




^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2011-05-26 14:56 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-27  6:47 Emacs as a C Programming IDE Configuration? haziz
2011-04-27  9:11 ` Jorgen Grahn
2011-04-27 16:04   ` despen
2011-04-28  6:26     ` Jorgen Grahn
2011-05-09  1:38     ` David Combs
2011-05-09  1:42       ` Pascal J. Bourguignon
2011-05-09 16:30         ` Ted Zlatanov
2011-05-09 16:52           ` Pascal J. Bourguignon
2011-05-21 23:27           ` David Combs
2011-05-22  0:17             ` Pascal J. Bourguignon
2011-05-22 18:47             ` Stefan Monnier
2011-05-22 19:35               ` Jorgen Grahn
2011-05-23 14:50             ` Ted Zlatanov
2011-05-09  3:33       ` despen
2011-05-09 12:53         ` Jorgen Grahn
2011-05-26 14:56     ` Richard Riley
2011-05-26 14:54   ` Richard Riley
2011-04-27 18:26 ` Colin S. Miller
2011-04-30  0:07   ` haziz
2011-04-29 12:21 ` hjuvi
2011-05-02  3:24   ` rusi
2011-05-02  8:44     ` hjuvi
2011-05-02  9:29       ` Re : " hjuvi
2011-05-26 13:50 ` Richard Riley

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.