在mutt 中,是否可以使用vifm或ranger等文件浏览器(可能在tmux拆分中)而不是默认文件浏览器来选择要附加到电子邮件的文件?
您可以在 tmux split 中打开 ranger (您建议的可能性),选择要附加的文件,使用复制文件名及其路径yp
,然后返回到 mutt Attach 窗口,按a
并将附件路径和文件名粘贴到在附加窗口底部打开的行,然后按Enter
。
关于文件名中空格的问题(回应@Rastapopolous的评论),我意识到我有不使用它们的强烈习惯,但是重新测试上面从ranger粘贴路径的方法,我发现当文件名有空格,由于某种原因,粘贴到 mutt 中的附件名称有部分名称重复!人们可以退格以删除“附件”,即使空格未转义,附件也可以轻松发送。我在 vim 中测试了 ranger 的路径副本,它粘贴正确,但在 mutt 中则不然。
由于我习惯使用tmux,所以我发现这是一个相对简单的方法。
或者独立于 tmux,我的 .bashrc 中还有以下脚本:
# email an attachment
function mail_attach ()
{
mutt -F ~/.muttrc -a "$@" -- myemail@gmail.com;
}
export -f mail_attach
Run Code Online (Sandbox Code Playgroud)
当您知道要在撰写电子邮件之前添加附件时,这非常有用。因此,在 ranger 中,只需选择一个文件,键入s
即可打开 shell 命令行,并用 指示所选文件%f
,即:
:shell mail_attach %f
Run Code Online (Sandbox Code Playgroud)
按Enter
将打开 mutt 编辑器,用于撰写已附加所选文件的电子邮件。但是,随后必须将收件人电子邮件地址更改为所需的地址。也许有一种方法可以更改功能以打开带有空白“收件人”字段的电子邮件编辑器,但我还不够了解。不过,我觉得这没什么大不了的。
对于多个文件,如果它们位于同一文件夹中,我将全部选择它们,然后按@
Ranger 快捷方式打开 shell 命令行,如下所示,其中%s
是对所选文件的引用:
:shell %s
Run Code Online (Sandbox Code Playgroud)
然后只需mail_attach
在前面插入%s
并按 Enter 键即可打开 mutt 来撰写已附加所有选定文件的电子邮件。如果您想附加来自不同文件夹的文件,除了将它们收集到同一文件夹中之外,我不知道该怎么做。
我想感谢创建该函数的人,但我不再知道它来自哪里。我知道那不是我。