views:

384

answers:

7

I do not want to learn an IDE or similar software which is only made for one platform only. I want to spend my time+energy in learning something which is a timeless-truth.

I want to switch to an editor-religion, which has no religion but of development and progress, it sees & treats all with equality.

Yes, please provide me some guide about how to switch to Emacs on windows. like, doing compiler settings, source setting, TFS binding ...and all things I do not know about.

PS most of (all) my code is in C++ (unmanaged)

A: 

I know of two methods for switching to Emacs on Windows: 1)Download and use the binaries, 2) Install Cygwin.

I've been using the binary install of XEmacs on Windows for many years now. I prefer it as my editor. However, I also use Visual Studio since it has a better debugger than Gdb. I use VS for simple changes and XEmacs for developing code.

I have also been using Cygwin, which is a *nix for Windows. I don't use XEmacs that comes with Cygwin. One difference between the two is the support for comparing and merging files. The Cygwin version works, "out of the box". For the Windows installation of XEmacs, I have to find a version of diff3 that works on Windows.

Click here for XEmacs home page.
Click here for Cygwin home page.

Thomas Matthews
+9  A: 

You'll need to consider whether you want to use Emacs as your editor only, but continue to maintain your project settings, source files and build/debug environment in Visual Studio, or switch completely to Emacs as you editor and use some other tools (e.g., make) to build your project using VS compilers or other compilers completely.

The former case is relatively easy - you can have your file open in Emacs, and the project open in Visual studio, and just Alt-tab over to VS to build and debug. There are a couple good ports of graphical Emacs for Windows, or you can just use Cygwin combined with the terminal version of the application.

The second option - switching to a fully UNIX-like build environment is more involved and extends far beyond what editor you will be using.

Update, given comment below on "baby steps":

If your goal is to get to a complete non-VS (with the possible exception of the actual compiler and linker executable) environment in baby steps, then I would recommend first simply using Emacs to edit your source, and becoming used to the various shortcut keys and so on. Speaking only about raw editing, I find myself considerably more productive in Emacs than VS given the power of the editing functionality - and less use of the mouse is another upside if you suffer from mouse-related RSI. That's the first baby step you can take.

Unfortunately, the next step - to move from the VS build environment to something cross platform isn't so simple, and I can't see a particularly gradual way to do it. You'll need to decide what your alternative would be - it could be as simple the classic GNU tool chain - make, makedepends, gcc, gdb and related components. Here, I'd recommend Cygwin on Windows - get used to this and you'll be immediately familiar with the tools when you make the jump to a UNIX environment. The details of how to set up a nice environment with this toolchain could probably fill a book or two, but if your needs are simple it is not difficult.

There are certainly other more modern alternatives, although many of them are oriented towards Java - but you can still use things like ANT and Maven with other languages with the appropriate plugin or extension.

Once you've got your non-VS build set up (nothing to do with Emacs), only then can you go about the task of learning how to trigger your builds, fix compile errors and debug your programs using emacs in an integrated way.

BeeOnRope
I want to move completely, including building source using command line, eventually.baby steps :-), one at a time.Thank you.
Gollum
I've updated my reply based on your clarification.
BeeOnRope
+1  A: 

Have You Looked into Eclipse at all? Its a really good cross platform IDE, and it supports a bunch of different development languages through its plugins (including C, C++, and others).

Other than that, this seems to be a pretty good emacs reference.

Good Luck!

goatlinks
+2  A: 

See "Emacs For Dev Studio Users".

huaiyuan
I've been trying to transition from SlickEdit to Emacs ECB/CEDET. It's really powerful the only problem is that you need either allot of time or be an Emacs guru in order to configure it so that the functionality matches VS or SE.
MrEvil
+1  A: 

Some ideas in my blog here.

justinhj
A: 

If your used to an IDE like visual studio maybe you should try netbeans or eclipse. Both cross platform.

tm1rbrt
A: 

Emacs is a great tool and I used it for ages, it has to be the best text editor I've seen or even conceived of. The only problem is you often get driven to use tools for the platform you are on and that's definitely the case with visual C++ because it's just so prevalent in 3rd party APIs.

There's also the issue that command line just sucks in windows. This really puts the kibash on using emacs because it's really necessary to use makefiles and unix tools with it to realize its potential. There is cygwin that provides some of this but after several versions and having stuff constantly break and not work like I wanted, I gave up on it.

Programming is also harder these days with unix tools. MS is much better with its tools than it was, and though I find the way the config works easy to ruin your project having the very easy use of features like threads more than makes up for it.

So I'd say you can try to use it on windows, but it takes too much effort to be practical, especially when you constantly turn around and see yet another thing you need to use that forces you to use VC++ or convert yet another project to use makefiles every ten seconds.

Charles Eli Cheese