+;; on which systems do these exist?
+(define-key global-map 'begin 'beginning-of-line)
+(define-key global-map '(control begin) 'beginning-of-buffer)
+
+;; movement by larger blocks
+(define-key global-map '(control left) 'backward-word)
+(define-key global-map '(control right) 'forward-word)
+(define-key global-map '(control up) 'backward-block-of-lines)
+(define-key global-map '(control down) 'forward-block-of-lines)
+(define-key global-map '(control kp-left) 'backward-word)
+(define-key global-map '(control kp-right) 'forward-word)
+(define-key global-map '(control kp-up) 'backward-block-of-lines)
+(define-key global-map '(control kp-down) 'forward-block-of-lines)
+
+;; context-sensitive movement
+(define-key global-map '(meta left) 'backward-sexp)
+(define-key global-map '(meta right) 'forward-sexp)
+(define-key global-map '(meta up) 'backward-paragraph)
+(define-key global-map '(meta down) 'forward-paragraph)
+(define-key global-map '(meta control left) 'backward-sentence)
+(define-key global-map '(meta control right) 'forward-sentence)
+(define-key global-map '(meta control up) 'scroll-down-one)
+(define-key global-map '(meta control down) 'scroll-up-one)
+(define-key global-map '(meta control home) 'beginning-of-defun)
+(define-key global-map '(meta control end) 'end-of-defun)
+(define-key global-map '(meta control prior) 'backward-page)
+(define-key global-map '(meta control next) 'forward-page)
+(define-key global-map '(meta kp-left) 'backward-sexp)
+(define-key global-map '(meta kp-right) 'forward-sexp)
+(define-key global-map '(meta kp-up) 'backward-paragraph)
+(define-key global-map '(meta kp-down) 'forward-paragraph)
+(define-key global-map '(meta control kp-left) 'backward-sentence)
+(define-key global-map '(meta control kp-right) 'forward-sentence)
+(define-key global-map '(meta control kp-up) 'scroll-down-one)
+(define-key global-map '(meta control kp-down) 'scroll-up-one)
+(define-key global-map '(meta control kp-home) 'beginning-of-defun)
+(define-key global-map '(meta control kp-end) 'end-of-defun)
+(define-key global-map '(meta control kp-prior) 'backward-page)
+(define-key global-map '(meta control kp-next) 'forward-page)
+