Sane defaults for navigation keys?

(Image by Martin Fisch from here with a cc-by-sa license)

When I switched to Emacs, I thought there would be a consistent plan for navigation in a file (or buffer). I thought there would be a key for

  • character,
  • word,
  • line,
  • sentence,
  • paragraph,
  • the whole file

...and so on. In addition (so I imagined) there would be a key for every standard function you could apply to such a text component, like

  • copy,
  • paste,
  • kill,
  • mark,
  • jump forward or backward,
  • replicate,
  • exchage with neigbour,
  • move up and down


This way I would be able to build commands like "kill a word" (C-k w), "duplicate line" (C-r l) or "mark the paragraph" (C-m p) etc. It wouldn't be necessary to remember those shortcuts, you could easily derive them. Damn, you could even combine them (use (C-l C-w C-w k) to delete one line and two words). And they would perfectly fit together with the universal argument (C-u).

I don't even know why I expected it to be so. I just thought that the best editors (and Emacs claims to be on the top, no doubt) would have a concept like this (or better) with their shortcuts.

Instead, there are these short, but hard to remember combinations. Wouldn't it make sense to have similar shortcuts for similar tasks? In Emacs, this doesn't seem to be the case. For example, "Move to the beginning of the file" (M-<) and "Move to the beginning of this line" (C-a) just don't seem to be connected. Neither are "Kill word" (M-d) and "Kill line" (C-k).

Of course, I am far away of being some good at Emacs. I don't know any saints in the Church of Emacs to ask. There are two possibilities:

  1. There is a deeper sense in the defaults, I just don't see it. It would be so kind if someone could give me some hint (you can find my mail address in the impressum). At some point, I will achieve wisdom.
  2. The default keys were never designed, the just grew that way. And while this would be very disappointing, this is still Emacs, isn't it? Nothing would stop me to define my own shortcuts, much better then the old ones. Perhaps someone did this before me and there is some module I should know?

I am still not sure what I want it to be.