添加以下代码到我的.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

但如果我写它时,MRU文件从我的列表中消失(我必须为了打开MRU两次看到我最近的文件列表为什么?)

有帮助吗?

解决方案

的问题是,你的原始autocmd线被设置为匹配图案*.*,即其包含一些字符的任意文件名,后面跟着一个点,其次是一些更多的字符。

所以文件test.htmlanothertest.css将被匹配,和你的命令将运行,但.vimrc,其中有没有前点,将不匹配。

的解决方案是设置其中的自动命令将匹配.vimrc。你?*的猜测并不符合这个(因为它是寻找任何字符,后跟任意数目的其它字符),但你说这在某种程度上影响的MRU。我不知道你正在使用您的MRU什么插件,但我猜这是一个与相匹配的名称将打开一个临时窗口MRU列表?*模式,并认为随后的装载是莫名其妙与您的MRU搞乱。

因此,解决方法是使用一些更具体一点来匹配的.vimrc:

autocmd BufWinLeave .vimrc mkview
autocmd BufWinEnter .vimrc silent loadview 

这是可能的,这将工作,也和比较一般:

autocmd BufWinLeave .* mkview
autocmd BufWinEnter .* silent loadview 

其他提示

每鸟评论,这是最好的解决方法,我有插件的LOT和多个OS运行它,刚刚进行了测试。

autocmd BufWrite * mkview
autocmd BufRead * silent loadview

它不会破坏MRU,让你有双查询MRU 它没有错误时,新进空缓冲区 它也并不需要您创建文件类型百通为每个文件类型,你可能使用。

请注意:使用“的loadView”的“BufNewFile” apears是什么混淆MRU,而毫无意义的尝试上呈现空缓冲区我还以为??

我有一个类似的问题。也许你不得不创造出保存数据的目录。

mkdir -p ~/.vim/view
chmod 0750 ~/.vim ~/.vim/view

添加到您的vimrc的顶部,以确保VIEWDIR存在

let &viewdir=expand("$HOME") . "/.bk/.vim/viewdir"
if !isdirectory(expand(&viewdir))|call mkdir(expand(&viewdir), "p", 451)|endif

然后这在自动命令部分:

autocmd BufWrite * mkview
autocmd BufNewFile,BufRead * silent loadview

使用Neovim在Arch Linux的,我正在错误消息,直到我附加了!后沉默(沉默!)。这里是我的〜/ .vimrc项,

autocmd BufWrite * mkview
autocmd BufRead * silent! loadview

详细这里:

https://github.com/neovim/neovim/issues/7442 #issuecomment-339752054

在查看详情获得在vimfiles\view目录保存在视图文件。每个文件编辑,创建单独的视图文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top