I spent quite a bit of time on that issue started from the comments I got. From what I learned, the answer is
This is based on comparing solutions to actually write a new tool.
The only candidates for modifications are emacs and vim. The effort for emacs would be more than to write an own editor for that spec. Vi would be installed on every Linux box and its configs can do quite a few things. But a solution would need fully to hide multiple mode changes from the user (e.g. for marking) and would terribly mistreat vi's concept.
This is just a note about some basic vi things that helped me a lot to get a clearer outside view on the thing. There is a build in tutorial you start with 'vimtutor'. Should run on every Ubuntu box and teaches you quickly how to use vi. However, it failed to teach me how to best ''work with vi''. I have seen countless tutorials on vi basically all talking about the same. Only this explained with examples why and how working with vi is more efficient: http://www.viemu.com/a-why-vi-vim.html. Most importantly, imho it gets clear why it is a very bad idea to use vi in any other fashion that what it had been designed for. It became clear that vi has been mastered one would use vi also in windows, because its the most superior method to modify text. Its very much as piano: Very flexible and powerful if you are good, but a long way to become good.
The designed-for-use involves
- never use cursor keys
- always have both hands at the keyboard.
- always type with 10 fingers.
- need to be able to hit any key precisely and without thinking about it
- most pressed key should be for back from insert modes
What I am not sure if other language keyboard layouts can be used efficiently of if vi users switch to US keyboard layout..
To sum it up, the question can lead to a long and interesting tour through editors. Still I would see the benefit for have a simple common cross-plattform editor on the command line as there are many in GUI, e.g. 'gedit'. Until that I will live with 'nano'. I won't start learning vi before I am proficient with touch typing.
set insertmodein your
.vimrcto make Vim behave more like a modeless editor. Note than
vim.tinyis not Vim, it is a very stripped-down Vi-compatible subset. To get the real Vim you need to install it.