Text editors that can be used without X11, in a command line environment.
Emacs - Some people think it is a mutated and bloated Lisp system trying to disguise itself as a text editor. Others consider it a thermonuclear text editor, capable of many tasks including window management. Once its somewhat high learning curve has been achieved many users find its shortcuts and style of editing to be indispensably fast. Furthermore, there are auto-indent and syntax highlighting options for many file formats such as programming languages or LaTeX, and config files such as ~/.muttrc and ~/.procmailrc. If you know Lisp, you can customize Emacs to any extent you like. Emacs is available both as a graphical editor (emacs) and a console editor (emacs-nox).
nano - An easy to learn and use text file editor.
mc - Midnight Commander provides an internal text editor, which can be invoked with mc -e or mcedit commands, featuring syntax highlighting, regexp searching and other features.
jupp and joe-jupp – A highly configurable editor with a few default modes: jupp (the most polished one) and jstar use ?WordStar keybindings, jmacs is a bit Emacs-like, and jpico is similar to nano. Features include a built-in hex editor, charset support including UTF-8, syntax highlighting, a search/replace mode with optional regular expressions, interactive and scripted macro programming, and a number of other things. jupp is especially recommended for sysadmins (to quickly edit a file) and system programmers. Its status line features things like current offset into the file (column/line, byte offset in decimal and hexadecimal) and ASCII/Unicode of the character under the cursor.
Text editors that can be used in a graphical environment.
gedit - Default text editor of Gnome desktop environment. Aiming at simplicity by default, can be configured as full fledged integrated development environment through various plugins provided by gedit-plugins package.
geany - Advanced text editor with basic features of integrated development environment and has only few dependencies on other packages.
pyroom - Full screen text editor for distraction free writing, with configurable colour-schemes and keybindings.
scite - A GTK+ based programmers editor, uses Scintilla editing component.
kate - Acronym for KDE Advanced Text Editor, can be turned to full featured integrated development environment, providing extendable (via XML) syntax highlighting, session management and other features.
leafpad - A minimalist GTK+ based text editor, for basic text editing needs.
- Emacs - The default Emacs package includes an interface for X11.
jedit - very powerful/flexible (like emacs) and also easy to use (like notepad). Has many plugins for specialized needs.
How to set a default text editor
You can set a text editor as default with the update-alternatives command:
update-alternatives --set editor /path/to/the/chosen/editor
update-alternatives --config editor
and to see the list of possible paths:
update-alternatives --list editor
Then, just use the editor command instead of vim, emacs or nano for example.
You have to set the environment variable "$EDITOR".
E.g.: to use Emacs as default text editor, just add in your ~/.profile file: