mutt:在寻呼机视图中删除或保存消息后返回索引

mutt:在寻呼机视图中删除或保存消息后返回索引

在 MUA mutt 中删除或保存寻呼机视图中的消息后,程序仍保持寻呼机视图并跳转到当前文件夹中的下一条消息。是否可以更改此默认行为,以便在删除或归档电子邮件后退出寻呼机模式并显示文件夹索引?

答案1

您想同时执行两个函数(delete-messageexit),因此您必须使用:

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 在删除后移动到下一条消息。

相关内容