Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know that Emacs is a very powerful editor out there. I try to use it occasionally and want to learn it better. But to learn it better i have to use it more frequently than I am using now.

But one big obstacle is that I could not find the basic properties like a project auto completion. Maybe I am lazy but I dont want to write again and again the same long method names. Another one is go to definition stuff, I want to see the real declaration of any class or method or even a variable.

Also I know that it can handle the make files but an actual representation of a project alongside the editor would be very good. So, what I am asking is, is there a way to provide these options in Emacs? Or is there an extended version of Emacs that supports these features?

share|improve this question
up vote 2 down vote accepted

There is CEDET which provides all of that sort of stuff, I should add that I havent used it myself.

I personally find dabbrev-expand (M-/ by default) as useful, if not more, than language aware auto-completes, being able to complete in comments or from comments or code which currently won't compile is very useful.

share|improve this answer
+1 dabbrev-expand is the best. – Jon Purdy Sep 10 '11 at 15:51

Eclim is a completion package which uses Eclipse as a backend for completion and it has an emacs frontend too, so it combines the power of Eclipse's language support with the power of the Emacs interface.

share|improve this answer
it says eclipse functionality with vim editor, thanks anyway :) – LostMohican Sep 12 '11 at 7:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.