I want to delete a domain object (in the context of text, most objects are chars, words, sentences, paragraphs). So I tell the system delete ('d'), then what I want to delete, almost declarative (the what).
Emacs requires to explicitely tell him to create two pieces of data (begin and end marks) then ask for deletion (~the how).
Quantitatively it's also heavier, since it's a 2 keystrokes in vi, and 3 in emacs.
If you have used a Lisp Machine with something like Zmacs for an extended time, then one often manipulates with the mouse. Same sequence: mark, execute. For some things there is also modifier-click on something visual which creates a region.
Thus the whole select the object, execute sequence is the same:
* emacs keystrokes
* mouse manipulation
* Lisp functions: get the arguments, execute a function
Unfortunately I never had such pleasure. I understand a little more the appeal to have consistency between mouse and keyboard operations.
Maybe I'm more a schemer than a lisper then because even though the function call protocol is eval args, eval body, one of the nicest thing about lisps is higher order functions. Vi feels exactly like this; a move is an abstract operation that can live on its own, or be passed to another abstract operation to be combined.
To the extreme it reminds me of point-free programming where you dont even pass ~toplevel arguments, you just accumulate hof.
I've used all sorts of user interaction schemes, I don't think that's habit anymore.
It's an unnecessary explicit operative order. Like saying writing assembly code is just like C backwards, you'll get used to write callee saved arguments on the stack.
I want to delete a domain object (in the context of text, most objects are chars, words, sentences, paragraphs). So I tell the system delete ('d'), then what I want to delete, almost declarative (the what).
Emacs requires to explicitely tell him to create two pieces of data (begin and end marks) then ask for deletion (~the how).
Quantitatively it's also heavier, since it's a 2 keystrokes in vi, and 3 in emacs.