我在 mutt 中创建了一个宏,将选定的消息发送到我的存档文件夹:
macro index,pager ,m s=Archive
在很多情况下,新消息会立即存档,因此我尝试扩展宏:
macro index,pager ,m Wnks=Archive
除非选择了最后一条消息,否则此方法可以正常工作。在这种情况下,清除 N/O 标志后目标消息仍保持选中状态,并且 k 命令将选择移至列表中的上一条消息。有没有办法将多个命令应用于某条消息,而不必诉诸移动命令?
答案1
每当执行修改当前消息的命令时,Mutt 通常会将光标移到下一条消息。此行为由'解决'配置变量。因此,一个解决方案是resolve
在执行其他命令之前将宏扩展为取消设置,然后重新设置它。
macro index,pager ,m ": unset resolve\nWnks=Archive\n: set resolve\n"
请注意,这是未经测试的。我将其从您的宏和我的 muttrc 中的一些宏组合在一起,在执行宏的核心之前/之后,我取消/设置了各种配置变量。还请注意每个冒号后的空格。这可以防止以下命令保存在命令行历史记录中。这并不重要,但可以方便地避免历史记录混乱。