On Fri, Jun 10, 2011 at 00:05, Connor Lane Smith <c...@lubutu.com> wrote: > My plan, then, is to write an editor for X, which although > (almost-)modeless, is extremely fast to use. (I say `almost' because > search, for instance, is a mode, but is at the users' locus of > attention. I may also make `Escape' an optional command/insert mode > switch.) Let me be clear, this will not be a tiny minimalist editor; > that is already covered by ed. This will fill the same place as vi: it > may be a little larger, but damn is it fast.
Have you considered a command-quasimode? That way you could keep vi-style composeable commands and stay mostly modeless. > The editor uses interactive structural regular expressions, somewhat > like sam, only with more visual support. Say you run the command > `x/re/'; a special `match' buffer will open containing the matching > lines and line numbers (and in the case of X & Y, their file names > too), allowing you to jump to those locations. You can then edit and > run commands on these matches (including filtering) and the buffer(s) > will be updated accordingly. I like this idea a lot. Incidentally, that's exactly how I imagine my ideal file manager should work, and it should work for managing windows just as well. > In Vi I use `f' and `F' a lot. That is, I jump within lines so I don't > have to bother crawling with the cursor or reaching for the mouse. > This is faster than using `/' because you don't have to press enter > (surprisingly this has a big difference). In a similar fashion, this > editor will (as well as normal search) have a `leap' quasimode (cf. > Jef Raskin) which lets you search just by holding Meta, and to exit > search mode you just release. This is faster to use, doesn't spam your > search history, and means we can stop matching at the first match, > whereas with full search we'd highlight all matches in the scrollbar. Nice, just please keep leaping backwards in mind as well. I seem to recall later Archie prototypes spliting leap into two commands for leaping forwards and backwards (Mod+> and Mod+< respectively), both implemented as quasimodes. Cheers, Martin