我能否修复一个缓冲区,以便从vim窗口中移除它的唯一方法是关闭它?
例如,我正在使用NERDtree插件,在vim窗口中显示文件系统。有时我忘记在使用quickfix命令之前将焦点切换到其他窗口,导致错误的文件取代了文件树。(更不用说NERDtree的窗口默认宽度只有31个字符)
编辑:
我想通过这个问题模拟Eclipse内vim的视图和编辑器的概念。在这个术语中,NERDTree(和其他专门显示信息的插件)将是一个视图,而其他窗口将是编辑器。
这并不是一个确切的答案,但如果您出现错误,Ctrl-^可以撤销缓冲区内容的更改。
Ctrl+6
,对吧?我上周学了这个命令,它为我节省了很多时间,但还不够。 =/ - freitassautocmd BufEnter * if bufname("#") =~ "NERD_tree" && bufname("%") !~ "NERD_tree" | b# | endif
autocmd BufEnter * if bufname("#") =~ "NvimTree" && bufname("%") !~ "NvimTree" | b# | endif
- Pascalius
:b#
通常会将窗口跳回到上一个文件,因此它可能会成功地在该窗口中重新打开NERDtree插件。 - El Yoboctrl + wq
),然后使用:NERDTree
命令重新打开它。 - GWW<F9>
分配给了 NERDTree 的切换操作(nnoremap <silent> <F9> :NERDTreeToggle<CR>
),所以当我按下<F9>
键时,NERDTree 会在新窗口中打开。此外,El Yobo 的建议也可能起作用,但我更喜欢关闭缓冲区并使用<F9>
重新打开 NERDTree。 - freitass