+(defvar kmacro-step-edit-map
+ (let ((map (make-sparse-keymap)))
+ ;; query-replace-map answers include: `act', `skip', `act-and-show',
+ ;; `exit', `act-and-exit', `edit', `delete-and-edit', `recenter',
+ ;; `automatic', `backup', `exit-prefix', and `help'.")
+ ;; Also: `quit', `edit-replacement'
+
+ (set-keymap-parent map query-replace-map)
+
+ (define-key map "\t" 'act-repeat)
+ (define-key map [tab] 'act-repeat)
+ (define-key map "\C-k" 'skip-rest)
+ (define-key map "c" 'automatic)
+ (define-key map "f" 'skip-keep)
+ (define-key map "q" 'quit)
+ (define-key map "d" 'skip)
+ (define-key map "\C-d" 'skip)
+ (define-key map "i" 'insert)
+ (define-key map "I" 'insert-1)
+ (define-key map "r" 'replace)
+ (define-key map "R" 'replace-1)
+ (define-key map "a" 'append)
+ (define-key map "A" 'append-end)
+ map)