我想弄清楚VIM的foldexpr
何时被重新评估。
在我的情况下,我有set foldexpr=MySpecialFunction(v:lnum)
,在我看来MySpecialFunction
仅在打开缓冲区或删除关闭折叠的行时被调用。
直觉上,我会假设我可以使用ctrl-l
触发重新评估,但事实并非如此。
值得的是:我的VIM版本是7.3
答案 0 :(得分:1)
我认为,没有办法记录强制重新评估foldexpr。前段时间我在vim邮件列表中问了同样的问题。最后,制作了一个补丁,使得zx和zX重新评估了foldexpression,这对我来说已经足够了。
我只注意到两种强制重新评估foldexpression的方法:使用noop过滤器(例如通过cat过滤)或重置foldexpression。
请参阅vim邮件列表中的讨论: http://groups.google.com/group/vim_dev/msg/6f13fa0dfcb06317