Console Text Editors
I do not use vi[m] or emacs. I appreciate that both are powerful. My focus in this blog is not power users.
I have my eccentricities, but I think all Linux based console text editors are horrible. I could choose more colorful words but I’ll stick with “horrible.”
None of the Linux console text editors comply with the Common User Access (CUA) design. I do not believe such a design in a console text editor is a steep challenge for programmers — skilled or amateur. After all, the Microsoft text editor (edit.com) from the 1980s already had this basic design.
That was when I used WordPerfect (WP) for DOS, which “pound for pound” I think was the best software ever developed. Yet WP had its own quirky keyboard shortcuts for doing anything. Keyboard overlays were needed to use the software because of the many non standard keyboard shortcuts. Every software app in that era had this same problem.
Thus the birth of the CUA.
The MS text editor made sense to me even back then. A menu bar. Menus accessed using the Alt key. A File menu with New, Open, Save, Save As, Print, and Quit options. An Edit menu with Cut, Copy, Paste and Clear options. Standard Cut, Copy, and Paste options. Keyboard shortcuts many Linux users might recognize: Shift+Delete (Cut), Control+Insert (Copy), Shift+Insert (Paste). A Search menu. Common shortcuts such as F1 for help and Esc to cancel.
Because of the obtuseness of vi[m] and emacs, many distro maintainers today include the nano text editor as some sort of token gesture of compromise. Yet nano suffers the same problem all software suffered in the 1980s that motivated the CUA in the first place: non standard keyboard shortcuts that are different from CUA expectations.
The mouse is not supported in nano. The keyboard shortcuts used in nano conflict with CUA expectations. CUA shortcuts for Copy, Cut, and Paste are Ctrl+C, Ctrl+X, and Ctrl+V respectively. In nano those same shortcuts are for finding the current line of the cursor, exiting nano, and moving up a page. This creates a classic WTF impression for non technical users.
Don’t holler, “Eat your peas and grow hair on your chest,” nonsense or quip that vi[m] is a standard app on any Linux system so learn to use the software. A non technical user’s response to that is take a long walk on a short pier.
Yes, ’nix systems existed before DOS and the CUA standard. Yet almost all X apps these days comply with most if not all of the CUA design model. Non technical users are not inclined to use a terminal. Yet if they had to, is a basic CUA compliant text editor too much to ask?