例如,我在Vim中通过运行打开几个文件

vim a/*.php

打开23个文件。

然后我进行编辑并运行以下两次

:q

这就关闭了所有的缓冲区。

如何在Vim中只关闭一个缓冲区?


当前回答

[编辑:这是一个愚蠢的建议,因为当时我还不太了解Vim。请不要使用制表符代替缓冲区;标签是Vim的“窗口布局”]

也许改用标签?

Vim -p a/*.php在选项卡中打开相同的文件

gt和gt来回切换标签

:q只关闭当前选项卡

:qa关闭所有内容并退出

:tabo关闭除当前标签外的所有内容

其他回答

如何

vim -O a a

这样你就可以在左边编辑一个文件,在右边浏览整个目录…… 只是一个想法,不是解决方案……

如果前面的答案没有说明这一点:

:bd将关闭当前缓冲区。如果你不想获取缓冲列表。

Use:

:ls -列出缓冲区 :bd#n -关闭缓冲区,其中#n是缓冲区编号(使用ls来获取)

例子:

删除缓冲区2。 : bd2

检查缓冲区id使用 :缓冲区

你会看到一个缓冲区列表

1  a.php
2  b.php
3  c.php

如果你想从buffer中删除b.php

:2bw

如果你想从缓冲区中删除/关闭所有

:1,3bw

那些使用缓冲区或树导航插件,如Buffergator或NERDTree,将需要在破坏当前缓冲区之前切换这些分割-否则你将把你的分割发送到wonkyville

我使用:

"" Buffer Navigation                                                                                                                                                                                        
" Toggle left sidebar: NERDTree and BufferGator                                                                                                                                                             
fu! UiToggle()                                                                                                                                                                                              
  let b = bufnr("%")                                                                                                                                                                                        
  execute "NERDTreeToggle | BuffergatorToggle"                                                                                                                                                              
  execute ( bufwinnr(b) . "wincmd w" )                                                                                                                                                                      
  execute ":set number!"                                                                                                                                                                                    
endf                                                                                                                                                                                                        
map  <silent> <Leader>w  <esc>:call UiToggle()<cr>   

在列表中的“NERDTreeToggle”与输入:NERDTreeToggle相同。您可以修改此功能以与您自己的配置集成。