Kephra: Select All

To continue my previous post about Kephra, please let me ramble about just one seemingly little feature. It is interesting in its own right - but also an example for the design principles I employ:

1. max productivity

2. max consistency (less to memorize)

3. breaking habits and customs only when 1 and 2 demand it.

As soon graphics plays a greater role I will add max beauty as new 2.

The feature is called incremental selection and there are a few fancy editors who implement it. It is an extension on an idea already present in nearly all editors; when you click on text : the first left click moves the cursor to this position. The second on same position selects the word and third the whole line. That I meant by "an expanding selection" and I find it crazy that even that functionality is not available from keyboard. I'm a strong believer in the UI principle that every function should be available from every input method (unless very good reasons).

Atom has a rich Selection menu. But this is only an excellent and fast documentation - not something fur intuitively and fast usage. And since there are more things you want to select than key combinations you want to learn - why not put them all on one. Repeating the same key stroke doesn't cost much finger movement and expanding selection is kinda the same thing over and over.

The only key combo which is already universally used to select something is <Ctrl>+<A> and we all know how seldom its actually used. Even select one word/variable/command is more often needed So lets put that on <Ctrl>+<A>. And (long live Huffman - Coding) if you press it four times you still end up selecting the document (after selected line and block).

But we can go even crazier since there is really not much difference to press it four or 6 times right. Since were programmer - we often want to get a quoted string without much cursor navigation - or a complete loop with head and body. This would also avoid the hassle of finding free key bindings for syntax scheme dependent commands. Why not blend their functionality into the existing commands? And the good thing (since <Ctrl>+<Shift>+<A> is also still free) we could use that key combo to revert the expansion in case you pressed it one time to many.

Leave a comment

About lichtkind

user-pic Kephra, Articles, Books, Perl, Programming