如何在不删除缓冲区的情况下关闭窗口或未分割?
答案 0 :(得分:32)
窗口是缓冲区上的视口。在vim中管理windows时,它是 CTRL + w 的主要命令,您可以使用多个选项(粗体显示回答您问题的选项):
CTRL + w , v :打开一个新的垂直分割
CTRL + w , c :关闭窗口但保留缓冲区
CTRL + w , o :关闭其他窗口,仅保留活动窗口
CTRL + w ,右箭头:将光标移动到右侧的窗口
CTRL + w , r :将当前窗口向右移动
CTRL + w , = :使所有分割大小相等
然后,您需要在窗口中切换缓冲区:
:ls
列出所有已打开的缓冲区
:b5
切换到第5个缓冲区
最后,要打开垂直拆分中的所有缓冲区,请使用::vertical sball
。
在grep:
grep -rno --exclude-dir={dir1,dir2,dir3} "searchterm" *
vim $(!! -l)
有关详细信息,请参阅文档:vimdoc.sourceforge.net
答案 1 :(得分:13)
如果您想在窗口中编辑另一个缓冲区,只需使用:edit
/ :buf
即可。当前缓冲区将被替换,并保留在缓冲区列表中(即它显示在:ls
中)。
如果要关闭窗口拆分,请使用:close
。 :quit
命令也可以工作,但是当这是最后一个窗口时会产生关闭Vim的副作用。
为了留下有变化的缓冲区,您需要
:set hidden
如果您知道Vim如何处理缓冲区,这是许多用户设置的推荐选项。
答案 2 :(得分:5)
使用:q
关闭Vim窗口。
但是,如果您没有打开另一个窗口,它将从Vim退出。如果您有另一个要切换的窗口,则仅关闭当前窗口,并且缓冲区保持打开状态。您可能需要set hidden
。
要关闭缓冲区,您需要执行:bdelete
。
您可以使用:buffers
检查缓冲区是否已打开。