There's a load of this that can be quite heavily customised as well.
Changing the contents of '~/Library/KeyBindings/DefaultKeyBinding.dict' modifies text editing behaviour system wide - though not all applications will honour it. I assume it's due to developers implementing their own text engine type stuff.
With DefaultKeyBinding.dict you can implement things like 'delete current line', 'move current line up/down', 'duplicate line' etc. and have these as keybindings almost system wide. It's very nice, but really grates when I work in an application that doesn't support it.
Mine is here: https://gist.github.com/ryecroft/7433433 (a bit messy, but has loads of examples I've found).