在 mutt 中使用替代文件选择器

Ras*_*los 13 mutt

mutt 中,是否可以使用vifmranger等文件浏览器(可能在tmux拆分中)而不是默认文件浏览器来选择要附加到电子邮件的文件?

Joh*_*ood 2

您可以在 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 来撰写已附加所有选定文件的电子邮件。如果您想附加来自不同文件夹的文件,除了将它们收集到同一文件夹中之外,我不知道该怎么做。

我想感谢创建该函数的人,但我不再知道它来自哪里。我知道那不是我。