在vim/vimscript中是否有类似于close-window-hook的东西,这样我就可以在每次关闭窗口时调用一个函数?
我想用它来实现以下场景: 我使用额外的scratch窗口显示文件信息,当我关闭文件时,我希望scratch窗口自动关闭,以便vim退出。
如果您有任何想法可以在没有hook的情况下实现,那也很好。
编辑: 我知道:qa[ll],但是我很懒,只想输入:q或ZZ。
编辑2.71828183: 我接受了autocommand答案,因为它最接近原始问题,但发现使用预览窗口而不是分割窗口的另一种解决方法。当最后一个“正常”窗口关闭时,预览窗口会自动关闭。
我想用它来实现以下场景: 我使用额外的scratch窗口显示文件信息,当我关闭文件时,我希望scratch窗口自动关闭,以便vim退出。
如果您有任何想法可以在没有hook的情况下实现,那也很好。
编辑: 我知道:qa[ll],但是我很懒,只想输入:q或ZZ。
编辑2.71828183: 我接受了autocommand答案,因为它最接近原始问题,但发现使用预览窗口而不是分割窗口的另一种解决方法。当最后一个“正常”窗口关闭时,预览窗口会自动关闭。
BufUnload
。 - rampionBufUnload
。你真的试过吗?@0x89: 非常奇怪。自动命令不应该影响自身之外的执行。使其工作的一种方法可能是让自动命令也关闭原始文件。(使用|连接命令,或编写一个函数供自动命令调用) - Cascabel.vimrc
中设置了“set hidden”,所以当我关闭第一个缓冲区时,它变成了_隐藏_,然后自动命令关闭另一个缓冲区,这使得第一个窗口再次可见 - 很棘手!所以我可以在au中关闭窗口。但我找到了另一种解决方案:我使用预览窗口而不是分割窗口(请参阅:help preview)。当没有其他窗口时,它会自动关闭。 - 0x89