Every unix flavor system comes with an editor called "vi", but it is very hard for a beginner (not truely graphical). You can try "vim" which is vi in a more graphical form (but it may not be installed. Most linux system also come with "emacs" or "xemacs". This is a true graphical editor (and much more) which is much more robust than you would ever need, but at the same time, is much simpler than "vi" for most simple editing. It will still take some time to to get used to the control sequences though (i.e. Ctrl-W and Ctrl-Y for cut and paste instead of Ctrl-C and Ctrl-V). There are probably other editors installed though. If you have a full fledged graphical menu (i.e. somewhat "start" button like) environement like KDE or Gnome, look through the menus and see what text editors you have. Most of them will be there. Also, be warned, if Nedit is one of the editors and your locale is set to UTF-8 or UTF-16, then don't use Nedit for Java, as Nedit does not support those formats, and it will lead to some strange display effects if you needs to use some of the extended character sets.
Jedit is my choice for a lightweight development environment, and since it is Java it is cross platform (you can have the same environment in Win and *nix). I've also used Kate, which is KDE's editor, but I don't think it has an execution environment.
Emacs has been accused as an entire operating system pretending to be a text editor, but there's a complete IDE package available for it. I use it on one of my less powerful machines sometimes. Unlike the commercial IDEs, it doesn't require X Windows.
However, unless you're resource-constrained, a better choice is to download and install a full-fledged Java IDE such as Eclipse. Make sure you get the version that has gtk and the Java development stuff in it. The Motif version works under Linux, but it can be a bit ugly.
If you don't want/need a full IDE, Visual SlickEdit has a Linux version, or you can just use something like the KDE or gnome editors (available from the desktop menu) and compile off an xterm command-line window.
An IDE is no substitute for an Intelligent Developer.
Originally posted by Roseanne Zhang: I am using eclipse to be my IDE for Java and c/c++. It is also an editor, but a little stupid. However, it can be integrated with svn/cvs very nicely.
Now there's an understatement. CVS and I tend not to get along. Mostly because if you create/move a directory in a project, you have to explicitly add it to CVS or risk having a source code archive that doesn't really contain all the source code.
Of all the different methods of interacting with CVS I've done, only Emacs and Eclipse give you any assistance in avoiding this sort of common disaster. And Eclipse can also put decorations on the file icons to let you know where your uncommitted changes are at a glance. OK, Tortoise does that too, but not as part of the IDE.