Originally posted: 2015-09-15. Modified: 2016-12-21.
1 Efficiency
You want to be able to perform editing tasks quickly and use an optimized workflow.
2 Ergonomics
You want to minimize strain on your wrists and hands, primarily by conserving movement.
3 Extensibility
Since you are a programmer, you want to be able to program and customize your environment to meet needs as they arise. Add and remove features to optimize your workflow.
Each of these features is in some way linked to the other two, but at the same time each of these features is an independent goal to achieve.
[CB 8/3/2015] I plan to post some articles about how I think these goals can be achieved quite well with Emacs+Evil soon. Note that emacs additionally supports variable-width text, which appears to increase reading efficiency by ~15%.