# Binds are of the form <key sequence> = "<command to run>"
# To use '=' in a key sequence, substitute it with "Eq": "<Ctrl+Eq>"
# If you wish to bind #, you can wrap the key sequence in quotes: "#" = "quit"
["global"]
"<C-p>" = ":prev-tab<Enter>"
"<C-n>" = ":next-tab<Enter>"
"<C-t>" = ":term<Enter>"

["messages"]
"q" = ":quit<Enter>"

"j" = ":next<Enter>"
"<Down>" = ":next<Enter>"
"<C-d>" = ":next 50%<Enter>"
"<C-f>" = ":next 100%<Enter>"
"<PgDn>" = ":next -s 100%<Enter>"

"k" = ":prev<Enter>"
"<Up>" = ":prev<Enter>"
"<C-u>" = ":prev 50%<Enter>"
"<C-b>" = ":prev 100%<Enter>"
"<PgUp>" = ":prev -s 100%<Enter>"
"g" = ":select 0<Enter>"
"G" = ":select -1<Enter>"

"J" = ":next-folder<Enter>"
"K" = ":prev-folder<Enter>"

"<Enter>" = ":view<Enter>"
"d" = ":confirm 'Really delete this message?' ':delete-message<Enter>'<Enter>"
"D" = ":delete<Enter>"
"A" = ":archive flat<Enter>"

"C" = ":compose<Enter>"

"rr" = ":reply -a<Enter>"
"rq" = ":reply -aq<Enter>"
"Rr" = ":reply<Enter>"
"Rq" = ":reply -q<Enter>"

"c" = ":cf<space>"
"$" = ":term<space>"
"!" = ":term<space>"
"|" = ":pipe<space>"

"/" = ":search<space>"
"n" = ":next-result<Enter>"
"N" = ":prev-result<Enter>"

["view"]
"q" = ":close<Enter>"
"|" = ":pipe<space>"
"D" = ":delete<Enter>"
"S" = ":save<space>"
"A" = ":archive flat<Enter>"

"f" = ":forward<Enter>"
"rr" = ":reply -a<Enter>"
"rq" = ":reply -aq<Enter>"
"Rr" = ":reply<Enter>"
"Rq" = ":reply -q<Enter>"

"H" = ":toggle-headers<Enter>"
"<C-k>" = ":prev-part<Enter>"
"<C-j>" = ":next-part<Enter>"
"J" = ":next<Enter>"
"K" = ":prev<Enter>"

["compose"]
# Keybindings used when the embedded terminal is not selected in the compose
# view
"$ex" = "<C-x>"
"<C-k>" = ":prev-field<Enter>"
"<C-j>" = ":next-field<Enter>"
"<tab>" = ":next-field<Enter>"

["compose::editor"]
# Keybindings used when the embedded terminal is selected in the compose view
"$noinherit" = "true"
"$ex" = "<semicolon>"
"<C-k>" = ":prev-field<Enter>"
"<C-j>" = ":next-field<Enter>"
"<C-p>" = ":prev-tab<Enter>"
"<C-n>" = ":next-tab<Enter>"

["compose::review"]
# Keybindings used when reviewing a message to be sent
"y" = ":send<Enter>"
"n" = ":abort<Enter>"
"q" = ":abort<Enter>"
"e" = ":edit<Enter>"
"a" = ":attach<Enter>"

["terminal"]
"$noinherit" = "true"
"$ex" = "<semicolon>"

"<C-p>" = ":prev-tab<Enter>"
"<C-n>" = ":next-tab<Enter>"
