neo如何在 vim 中的窗口中修复缓冲区



我可以修复一个缓冲区,以便将其从 vim 窗口中删除的唯一方法是关闭它吗?

例如,我正在使用 NERDtree 插件,它在 vim 窗口中显示文件系统。有时我忘记在使用快速修复命令之前将焦点切换到其他窗口,错误文件最终会替换文件树。(更不用说NERDtree的窗口默认宽度只有31)

编辑:

我试图通过这个问题实现的是模拟 Eclipse 在 vim 中对视图和编辑器的概念。在这种情况下,NERDTree(以及其他专门显示信息的插件)将是一个视图,而其他窗口将是编辑器。

这不完全是一个答案,但如果你搞砸了,Ctrl-^ 会撤消缓冲区内容的更改。

我写了一个自动命令来做到这一点。将以下内容添加到 vimrc 将防止 NERDtree 缓冲区被覆盖:

autocmd BufEnter * if bufname("#") =~ "NERD_tree" && bufname("%") !~ "NERD_tree" | b# | endif

每次打开新缓冲区时,autocommand 都会运行——如果它检测到以前的缓冲区是 NERDtree 并且当前缓冲区不是 NERDtree,那么它将返回到 NERDtree 缓冲区,实质上是"锁定"NERDtree 到位。

最新更新