Here's a list of text editors
http://www.tuxarena.com/2011/06/20-text-editors-for-linux-overview-screenshots/The most professional and advanced thing is of course an office suite for word processing, but my foremost concern here is plain text in e.g. emails and webforms (textareas) and, by extension, coding and programming. My code-editing needs are minimal (naturally on a par with the abilities) and I have usually not much use for e.g. the self-completion kind of bracket-and-tag-matching. However, I often search and replace massively in texts, often in multiple files at the same time, which makes me perhaps intermediate so that I cannot stick exclusively to the simplest editors such as Notepad.
What's the best interface?It's probably useful to distinguish between GUI and terminal programs. While menus and statusbars are common in both graphical desktop environment and easily possible in terminal (or console), GUI programs can rely more on toolbars with buttons and mouse interaction. Terminal programs can have some mouse interaction, but it's of a whole different quality. Mouse support has no standard in terminal programs, so it's not uniform. Terminal programs rely more on keybinds.
Mouse interaction and buttoned toolbars make GUI interface stand out. Apple and Google interface engineers (and others infected by them, such as Gnome and MS devs recently) think toolbars plus a viewing/editing area is all a user should ever want. They tend to provide menus as another button on the toolbar and they deliberately hide or kill the menubar.
So, in addition to mouse interaction (point&click, scroll, drag&drop) and buttoned toolbars, which are more GUI things, not for terminal programs, some other elements in editor interface are:
- Menubar and context menus
- Titlebar and statusbar (with info about e.g. file name, clock, file size, cursor position, etc.)
- Keyboard shortcuts
- Theming (font sizes and colours)
What's the functionality you cannot live without?
- Search, find, select, copy, replace
- Undo, redo
- Highlighting
- Spellcheck
- Self-completion (of common text, as in Open/LibreOffice)
- Tag-and-bracket matching (of code and programming languages, as in Geany)
- Macros (sequencing available actions or creating custom commands) and formatting
- Buffer management
- File tree
- Sessions
- Formatted preview
- Plugins and extensions
Given your combined needs of editing, what's your choice of editors? What kind of editors have you been looking at and what did you find?
As for myself, I often tend to use the simplest editors for quick file-changes in GUI, such as Leafpad and Mousepad which are basically equivalent to Notepad. For more concentrated use I open up Medit for its sessions (to continue where I left off), for its file-tree, highlighting, theming, and macros. Sometimes I miss tag-and-bracket matching which is not there in Medit, but not too badly.
In terminal, the necessary theming is done by configuring the terminal rather than the program in it. I tend to use the terminal a lot because all programs in it display uniformly in the fonts and colours I set. My preferred editor in terminal is
nano which is much simpler than
vi or
emacs. Linux distros tend to include
nano out of the box, even though
vi tends to be the system default, so I have to configure
vi away every time and make
nano the system default.
Same as the likes of Notepad,
nano is a very good option for quick file-changes, but I have ended up writing long text in it (such as this forum post). I have configured it to display highlighting and learned its shortcuts to find, copy, cut, replace, undo and redo stuff and to move around in files. Among other features
nano provides automatic justification of text (due to the justification feature, it serves well as email composer for
mutt), navigate the file system, some mouse support and management of buffers.
On the list linked above,
joe with its multiple frames/windows looks interesting. This is something that
nano doesn't do.
Web interface, forms and textareasWebpages have holes where to type stuff. These are called forms and textareas. Sometimes, such as in these forums, they provide some formatting options, smileys and such. These are things I don't care about. I often browse the web with images off. I don't care in what way the textareas are styled. When I don't use them, I want them small, but when I use them, I want them big, i.e. I want them to be configurable. This means either user CSS or an external editor as a plugin or extension to the browser.
A good example of inbuilt configurability in webpage textares is at Github. It offers a modest textarea for comments along with a full-screen button, i.e. the textarea can fill the browser frame, the font turns big and it's much comfier to type. The Github design would be in my opinion the best kind of design for textareas all around the web, but still the problem is that it's not adequate for everyone and everything. The same way as browsers provide a way to configure an external source viewer, downloader, emailer, etc. it would be obvious to provide a way to configure an external textarea editor too.