例如,我在Vim中通过运行打开几个文件
vim a/*.php
打开23个文件。
然后我进行编辑并运行以下两次
:q
这就关闭了所有的缓冲区。
如何在Vim中只关闭一个缓冲区?
例如,我在Vim中通过运行打开几个文件
vim a/*.php
打开23个文件。
然后我进行编辑并运行以下两次
:q
这就关闭了所有的缓冲区。
如何在Vim中只关闭一个缓冲区?
当前回答
[编辑:这是一个愚蠢的建议,因为当时我还不太了解Vim。请不要使用制表符代替缓冲区;标签是Vim的“窗口布局”]
也许改用标签?
Vim -p a/*.php在选项卡中打开相同的文件
gt和gt来回切换标签
:q只关闭当前选项卡
:qa关闭所有内容并退出
:tabo关闭除当前标签外的所有内容
其他回答
检查缓冲区id使用 :缓冲区
你会看到一个缓冲区列表
1 a.php
2 b.php
3 c.php
如果你想从buffer中删除b.php
:2bw
如果你想从缓冲区中删除/关闭所有
:1,3bw
提醒一句:“bw中的w并不代表write,而是代表wipeout!”
更多手册:
:bd
卸载缓冲区[N](默认值:当前 Buffer)并将其删除 缓冲列表。如果缓冲区被更改,则失败, 除非当[!],在这种情况下更改 丢失。 该文件不受影响。
如果你知道你在做什么,你也可以使用:bw
:bw
比如|:bdelete|,但是真正删除的是 缓冲区。
[编辑:这是一个愚蠢的建议,因为当时我还不太了解Vim。请不要使用制表符代替缓冲区;标签是Vim的“窗口布局”]
也许改用标签?
Vim -p a/*.php在选项卡中打开相同的文件
gt和gt来回切换标签
:q只关闭当前选项卡
:qa关闭所有内容并退出
:tabo关闭除当前标签外的所有内容
那些使用缓冲区或树导航插件,如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相同。您可以修改此功能以与您自己的配置集成。
如何
vim -O a a
这样你就可以在左边编辑一个文件,在右边浏览整个目录…… 只是一个想法,不是解决方案……