在 MUA mutt 中删除或保存寻呼机视图中的消息后,程序仍保持寻呼机视图并跳转到当前文件夹中的下一条消息。是否可以更改此默认行为,以便在删除或归档电子邮件后退出寻呼机模式并显示文件夹索引?
答案1
您想同时执行两个函数(delete-message
和exit
),因此您必须使用宏:
macro pager d '<delete-message><exit>'
这将绑定d
删除当前消息并退出寻呼机。
您可以执行相同的操作,s
但它会变得有点复杂,因为您需要用户输入,如果您只接受默认保存位置或使用,save-hooks
您可以简单地使用
macro pager s '<save-message><enter><exit>'
如果您想以交互方式更改保存位置,不幸的是,我没有如何更改它的提示,我会尝试使用/利用 save-hooks
答案2
我是这样解决的:
macro index d "s=Trash\n" "move message to trash"
macro pager d "C=Trash\n\n<exit><delete-message>" "move message to trash"
这也可以防止将下一条消息标记为已读
答案3
要为此创建一个宏,当您看到最后一条消息时不会关闭 mutt,您可以执行以下操作:
macro pager d "<delete-message>i" "Delete message"
或者(如果您使用的是 Gmail)
macro pager e "<save-message>+archive<enter>i" "Archive message"
这种方式因为i
没有映射默认情况下在索引中,它只会告诉你“密钥未绑定”而不是退出 mutt。但由于在寻呼机中它是退出寻呼机的默认映射,因此它将按预期工作。
请注意,这确实会将下一条消息标记为已读(如果尚未读取)。如果你愿意的话,你可以在最后添加一些东西来解决这个问题。
答案4
我查看了源代码来弄清楚这一点。
macro pager d "<enter-command>unset resolve<enter><delete-message><enter-command>set resolve<enter><exit><next-entry>"
当然,请根据您的需要进行修改。关键是关闭“解决”可以防止 mutt 在删除后移动到下一条消息。