Vim-在命令行窗口中加载视图和mkview错误

当我在.vimrc中使用此脚本时:

"Save and restore folds when a file is closed and re-opened
autocmd BufWinEnter                    ?* if(!empty(glob(expand("%:p")))) | silent loadview | endif
autocmd BufWritePost,BufLeave,WinLeave ?* if(!empty(glob(expand("%:p")))) | mkview          | endif

当我通过q:打开命令行窗口时(它打开了我键入的所有先前命令),它会产生错误:

Vim-在命令行窗口中加载视图和mkview错误

如何解决此问题,并确保不会发生此错误?

a316190862 回答:Vim-在命令行窗口中加载视图和mkview错误

command-line-window中不允许使用某些命令; :help E11对此进行了解释。

要在您的:autocmd中处理此问题,有几种选择:

  • :silent!命令前加上:mkview,以抑制任何错误
  • 使用:try ... catch /^E11:/围绕电话,以选择性地忽略此错误,但报告其他任何情况
  • 在您的:if条件下添加对命令行窗口的检查;在最新的Vim版本中,可以使用getcmdwintype();它在其他窗口中返回空字符串;有关也适用于旧版Vim的支票,请参阅我的ingo#compat#window#IsCmdlineWindow()中的ingo-library plugin
本文链接:https://www.f2er.com/3067591.html

大家都在问