2

在我的配置中,我有两个在线 IMAP 帐户,例如AB。我的简化配置文件如下所示:

## Account A settings
source ~/.mutt/a/config
folder-hook 'a.com' 'source ~/.mutt/a/config'

## Account B settings
folder-hook 'b.com' 'source ~/.mutt/b/config'

macro index <f2> '<sync-mailbox><enter-command>source ~/.mutt/a/config<enter><change-folder>!<enter>'
macro index <f3> '<sync-mailbox><enter-command>source ~/.mutt/b/config<enter><change-folder>!<enter>'

两个账户的配置文件类似,如下所示:

set imap_user = usera
set imap_pass = userasecret
unset folder
set folder    = "imaps://mail.a.com/"
set spoolfile = "+INBOX"
mailboxes "+INBOX"

set imap_user = userb
set imap_pass = userbsecret
unset folder
set folder    = "imaps://mail.b.com/"
set spoolfile = "+INBOX"
mailboxes "+INBOX"

F2我可以使用nad键在帐户之间切换F3,但问题是当我尝试更改邮箱时。在开始时(即,在使用之前F-key)按c?给我可用的 IMAP 文件夹列表。但是,当我切换到第二个帐户时 - 按F3- 然后尝试列出 IMAP 文件夹时出现错误。Mutt 尝试从第一台服务器获取文件夹:imaps://mail.a.com但由于凭据错误(imap_user已设置为 userb)而失败。我得等一会儿,然后再按c一下,把目录名改成当前的folder变量值。完成此操作后,我可以再次列出文件夹。直到下一次切换...

为什么 mutt 在更改文件夹后坚持使用旧目录路径,我该如何更改这种行为?

4

1 回答 1

4

我不知道你是否还在乎,但我找到了这个解决方案:

使用上述快捷方式(或使用侧边栏),您会发现更改文件夹(默认使用 c)与上下文无关,即它不会列出当前邮箱的文件夹,而是您上次更改文件夹时使用的文件夹。为了使行为更具上下文,诀窍是为当前邮箱按 = 或 +。您可以使用以下宏自动执行此操作:

macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>'

见网站:https ://wiki.archlinux.org/index.php/Mutt

于 2015-02-11T16:18:48.497 回答