在我的配置中,我有两个在线IMAP帐户,比如A
和B
。
我的简化配置文件如下所示:
## 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在更改文件夹后会粘贴旧目录路径,如何更改此行为?
答案 0 :(得分:3)
我不知道你是否还在乎,但我找到了这个解决方案:
使用上述快捷方式(或侧边栏),您会发现更改文件夹(默认情况下为c)不是上下文,即它不会列出当前邮箱的文件夹,而是上次使用的文件夹更改文件夹。为了使行为更具上下文性,诀窍是按=或+表示当前邮箱。您可以使用以下宏自动执行此操作:
macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>'