我将以下代码添加到我的.
vimrc中:
" save and restore folds when a file is closed and re-opened autocmd BufWinLeave *.* mkview autocmd BufWinEnter *.* silent loadview
HTML和CSS文档保存并恢复其折叠,但代码折叠未保存在我的.vimrc中
有什么建议么?
编辑:
au BufWinLeave ?* mkview au BufWinEnter ?* silent loadview
问题是您的原始autocmd行设置为匹配模式*.*,即包含一些字符的任何文件名,后跟一个点,后跟一些更多的字符.
原文链接:https://www.f2er.com/bash/386572.html因此,文件test.html或anothertest.css将被匹配,您的命令将会运行,但.vimrc(在点之前没有任何内容)将不匹配.
解决方案是设置一个autocmd,它将匹配.vimrc.您的猜测* *与此匹配(因为它正在寻找任何字符,其次是任意数量的其他字符),但您会以某种方式影响MRU.我不知道你的MRU使用了什么插件,但是我猜这是一个在临时窗口中打开MRU列表的名称与* *模式匹配,后来加载的视图是某种方式弄乱你的MRU.
因此,修复是使用更具体的东西匹配.vimrc:
autocmd BufWinLeave .vimrc mkview autocmd BufWinEnter .vimrc silent loadview
这也可能会起作用,而且更普遍:
autocmd BufWinLeave .* mkview autocmd BufWinEnter .* silent loadview