Cygwin is a unix emulation environment for Windows. If you must use a Windows machine to write code then Cygwin will help.
http://www.cygwin.com/
After installing Cygwin, you'll want to set up logins and passwords. You can use
mkpasswd
and
mkgroup
for this purpose, and take a look at the
-d
flag if you're running in a Windows domain.
See also
http://xfree86.cygwin.com/ if you're planning on running X with Cygwin. You can run X in either single-window mode (with X inside one big Windows window) or multi-window mode where there is no X root window and X windows "float" along with Windows windows.
C:\cygwin\usr\X11R6\bin\startxwin.bat
is a good way to start X. I hacked it to run rxvt instead of xterm - it seems to be more consistent with the terminals that I use on unix machines. There appear to be two solutions to cutting and pasting back and forth - download
xwinclip
and run it in
startxwin.bat
or add the
-clipboard
command-line parameter to X. I've used the command-line
xwinclip
but not the X feature.
rxvt
can run both as a Windows program and as an X program, depending on where you run it from. You can make an icon for it by dragging the executable
c:\cygwin\bin\rxvt.exe
onto the little tray next to the Start menu. A useful set of properties for the "Target" field is
C:\cygwin\bin\rxvt.exe --loginShell -bg black -fg white -sl 1000 -e /bin/bash --login
this opens a white-on-black bash login shell.
Cygwin's rxvt seems to use
^H as the backspace character which seems to disagree with most Linux custom and practice, so it's a good idea to
stty erase ^?
in your .bashrc. Then backspace will work in bash and emacs.
http://www.khngai.com/emacs/bash.php - this page explains how to set up
rxvt
so that the delete key works as expected and so the "home" and "end" keys go to the beginning and end of the command line.
For a more in-depth treatment of backspace and delete see
http://www.tldp.org/HOWTO/BackspaceDelete/.