![mutt 可以自动格式化消息以响应通知吗?](https://linux22.com/image/172919/mutt%20%E5%8F%AF%E4%BB%A5%E8%87%AA%E5%8A%A8%E6%A0%BC%E5%BC%8F%E5%8C%96%E6%B6%88%E6%81%AF%E4%BB%A5%E5%93%8D%E5%BA%94%E9%80%9A%E7%9F%A5%E5%90%97%EF%BC%9F.png)
对于冗长的标题表示歉意。
github、gitlab 等网站允许通过电子邮件回复问题页面。我希望 mutt/vim 自动格式化我的回复。例如,我想从这些响应中删除我的签名,并删除固定宽度的文本宽度线,因为它在网站上呈现时不合适。
我是这样开始的:
reply-hook [email protected] 'set signature="" ' 'source .specific_vim_format'
但这并不完全是我所需要的。这个回复钩子将全局删除签名,这样它就不会出现在其他消息中,而且我仍然不知道如何在输入回复时影响我的 vim 会话。
答案1
您需要先匹配所有消息,然后匹配特定消息,因为配置更改是永久性的。请记住,回复挂钩的顺序很重要。
# This applies to all messages
send-hook ~A \
'set signature="/path/to/signature file";\
source .specific_vim_format_all'
# This hook applies only to those matching [email protected]
reply-hook [email protected] \
'set signature="";\
source .specific_vim_format'
或者你可以摆脱采购.special_vim_format$my_editor
通过在变量中定义默认编辑器设置来创建文件。将编辑器设置$my_editor
为所有消息的值,并为特定消息附加附加配置。
set my_editor="vim"
set my_editor_email_options="-c 'set syntax=mail fileencoding=utf-8 ft=mail fo+=aw'"
set my_editor_github_options="-c 'set wrap textwidth=0'"
# This applies to all messages
send-hook ~A \
'set signature="/path/to/signature file";\
set editor="$my_editor $my_editor_email_options"'
# This hook applies only to those matching [email protected]
reply-hook [email protected] \
'set signature="";\
set editor="$my_editor $my_editor_github_options"'