Skip to main content

Topic: What's the best kind of interface for writing and typing? (Read 13472 times)

  • ersi
  • [*][*][*][*][*]
What's the best kind of interface for writing and typing?
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 textareas

Webpages 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.

  • Frenzie
  • [*][*][*][*][*]
  • Administrator
Re: What's the best kind of interface for writing and typing?
Reply #50
There's also https://github.com/Ernir/Kate-bbcode

But Markdown highlighting seems to do the job reasonably well too?

  • ersi
  • [*][*][*][*][*]
Re: What's the best kind of interface for writing and typing?
Reply #51
But Markdown highlighting seems to do the job reasonably well too?
Yes, for mere highlight, but not when you want keybinds to automate the tag-writing. BBCode-mode for Emacs does both, and when you modify it, it does both differently.