-macro compose e ':set my_editor="$editor"<enter>:set editor=sensible-editor<enter><edit-headers>:set editor="$my_editor"<enter>' "invoke normal editor to edit message"
-macro index,pager e ':set my_editor="$editor"<enter>:set editor=sensible-editor<enter><edit>:set editor="$my_editor"<enter>' "invoke normal editor to edit message"
+macro compose e '<enter-command>set my_editor="$editor"<enter><enter-command>set editor=sensible-editor<enter><edit-headers><enter-command>set editor="$my_editor"<enter>' "invoke normal editor to edit message"
+macro index,pager e '<enter-command>set my_editor="$editor"<enter><enter-command>set editor=sensible-editor<enter><edit><enter-command>set editor="$my_editor"<enter>' "invoke normal editor to edit message"
+
+macro index \ej '<enter-command>set my_editor="$editor"<enter><enter-command>source "$my_confdir/batch-subject-editor|"<enter><tag-prefix><edit><enter-command>set editor="$my_editor"<enter>' "change message subject"
+
+macro index,pager \er '<enter-command>set my_editor="$editor"<enter><enter-command>set editor="~/.mutt/reuse-message $my_editor"<enter><reply><enter-command>set editor="$my_editor"<enter>' "invoke normal editor to edit message"
+macro index,pager \eg '<enter-command>set my_editor="$editor"<enter><enter-command>set editor="~/.mutt/reuse-message $my_editor"<enter><group-reply><enter-command>set editor="$my_editor"<enter>' "invoke normal editor to edit message"
+macro index,pager \el '<enter-command>set my_editor="$editor"<enter><enter-command>set editor="~/.mutt/reuse-message $my_editor"<enter><list-reply><enter-command>set editor="$my_editor"<enter>' "invoke normal editor to edit message"
+
+# override F6 from notmuch-mutt
+macro index <F6> "<enter-command><enter>" "do nothing"
+
+macro attach e '<enter-command>set my_mailcap_path="$mailcap_path"<enter><enter-command>set mailcap_path="~/.mutt/mailcap.editing"<enter><view-mailcap><enter-command>set mailcap_path="$my_mailcap_path"<enter>' "edit temporary file of attachment"