我正在使用mutt电子邮件客户端,并尝试使用MacVim作为我的编辑器。我已设置editor = "mvim --remote"
。 --remote
的{{1}}选项会在现有的MacVim实例中打开一个文件,而不是打开一个新窗口。虽然这在我现有的MacVim实例中成功打开了一个文件,但有两个问题:
mvim
)。set autoedit
关闭文件时,mutt没有检测到它 - 它只是继续显示“Aborted unmodified message。”这些问题表明mutt能够发信号通知MacVim打开一个新文件,但无论如何都无法从该文件读取/写入,立即检测到这一点,并认为该消息已中止。如果我使用普通:wq
或mvim
,我会看到相同的问题。但mvim -f --remote
效果很好 - 我的问题是MacVim的启动时间因为所有加载的插件而烦人。有人可以解释MacVim和Mutt之间通信的机制,以及是否有办法使用已经打开的MacVim实例作为编辑器?
答案 0 :(得分:1)
问题是,mutt生成编辑器并等待它完成。完成后,它会检查初始文件是否已被修改,如果没有,则会提供有关未修改消息的错误消息,以便中止。 在你的情况下,vim只是向另一个Vim实例发送一个远程编辑命令,然后退出,这让mutt认为,你已经完成了编辑你的消息,因为你还没有触及消息,它就会中止。
不幸的是,我没有针对您的问题的解决方案。你需要一个脚本,它在后台产生vim并保持活着直到你完成文件。但不确定,它是如何发现的。
答案 1 :(得分:0)
我不确定为什么确切地说这是有效的,但我能够通过
获得所需的功能set editor = "mvim --remote-wait"
这样可以在MacVim中正确打开消息缓冲区。删除缓冲区后,mutt将恢复访问新创建的消息。