根据脚本的输出设置 mutt 配置值?

根据脚本的输出设置 mutt 配置值?

我发现了 mutt 中有一个错误,但我想建立一个解决方法,直到它被修复。

~(该mark-message函数)用于指定一个快捷方式(即宏)来标记消息,以便您稍后可以跳转到该消息。例如,如果您使用快捷方式标记消息d,mutt 将自动设置以下宏:

macro index "'d" "<search>~i '[Message-ID Header]'" "message hotkey"

这样您就可以点击'd跳回到您标记的消息。

问题在于 Message-ID 标头被解释为正则表达式,有时我收到的消息标头包含特殊的正则表达式字符,例如+。(请参阅下面的示例。)

<CAMMr2knNGWssaFdp-+e4u9pWfBQ4DCHNkH9FUrPoXqEXAN+sNg@mail.gmail.com>

如果有的话,mutt 将无法找到该消息,因此宏将不起作用,而只是抛出错误Not found.

解决方案是使用反斜杠转义这些特殊字符,但我认为在 mutt 中没有办法做到这一点。我想做的基本上是构建我自己的函数替代品mark-message。我想我需要将给定的消息通过管道传输到脚本,grepcut提取消息 ID 标头,然后sed使用反斜杠转义任何特殊字符。

问题是尝试将此字符串传回 mutt:我知道您可以在 中使用环境变量muttrc,但我相信这些变量是在赋值时而不是在执行时评估的。有没有办法将字符串从 bash 脚本返回到 mutt 的配置中?

相关内容