我是Vim和NERDTree的新手,我试图理解为什么在使用[No name]
删除缓冲区后,缓冲区显示为:bd
。我想保持我的NERDTree干净,所以我想知道是否有办法删除[No name]
。
例如,
l.py
文件是我正在处理的文件,[No name]
文件是我已关闭的文件(使用:bd
)。我根本不想让它们出现,因为它看起来很乱。
谢谢!
答案 0 :(得分:2)
我怀疑NerdTree是否将缓冲区放入您的状态行。我想象一些状态行插件,如vim-airline。最好查看状态行插件的文档,了解如何在插件的错误跟踪器上进行自定义或提交问题。
我看到的最大问题是你试图将状态行用作临时搭建标签栏"。大多数其他编辑器使用标签栏作为管理文档的方式,但不使用Vim。这个临时的标签栏"一旦开始使用更多文件或使用拆分或标签(Vim's tabs are different)的更复杂的工作流程,这可能是一个坏主意。
<是啊噢?那么Buftabline,航空公司,BufTabs,MiniBufExpl,......?所有这些插件都会显示您当前列出的缓冲区。也许通过某种定位信息,您可以通过缓冲区列表通过:bnext
和:bprevious
(或者您可能使用的任何映射)进行骑行。
现在这很棒,所有这些插件都重新创建了其他编辑器的选项卡版本,但是Vim已经允许你在没有这些插件的情况下循环缓冲区。唯一缺少的是:ls
很乐意为你做的菜单,而不会浪费任何屏幕空间。
想象一下,打开10个,25个,50个或100个以上的缓冲区。你的Buftabline如何处理这个问题?我打赌不好。您需要停止使用:bnext
/ :bprev
这样的简单工具,并开始使用:b
等电动工具。
观看:b
:b
命令可以使用缓冲区编号直接切换到缓冲区。更有趣的是,:b
可以采用部分文件名。
:b partial-name
:b
需要更多力量吗?
<c-d>
列出完成次数:b *foo
**
进入目录。例如:b foo/**/bar
set hidden
添加到vimrc
。请参阅:h 'hidden'
为什么在飞行时骑自行车?
taken from Bairui's collection of Vim infographics
您可以使用简单的映射来同时使用:ls
和:b
:
nnoremap <leader>b :ls<cr>:b<space>
现在您可以直接前往您想要的缓冲区。不再骑车了。
谁不喜欢一个好的插件。事实上,如果你正在寻找一个漂亮的缓冲切换插件,那么我建议你研究一个很好的模糊查找器,如CtrlP,以帮助你在缓冲区之间切换。模糊查找器实际上增加了缓冲区之间切换的价值,方法是减少输入速度,从而加快速度。
如果您只想拥有:b
/ :sb
的模糊版本,那么您可能需要查看bumblebee.vim。注意:我是这个插件的作者。
最终,您的工作流程将要求您一次使用3个以上的缓冲区。那时我建议你再看看:b
命令,或者至少得到一个漂亮的模糊查找器。它将为您节省时间和精力。
所以当你飞行时停止骑自行车。