如何在VIM中重新分配缓冲区编号?

Wil*_*ght 15 vim

我曾经以为vim是强大的,直到我想要清除列表中的缓冲区并将其重用于其他东西.例如,如果我有

1 "f1.h"
2 "f2.h"
3 "f3.h"
4 "f1.cpp"
5 "f2.cpp"
6 "f3.cpp"

我想用其他东西替换f1.h - f3.h,但是在相同的缓冲序列中:

1 "n1.h"
2 "n2.h"
3 "n3.h"
4 "f1.cpp"
5 "f2.cpp"
6 "f3.cpp"

我无法弄清楚该怎么做.我可以做"1,3bd"并删除缓冲区1-3,甚至"1,3bw"并将它们擦除,但是没有重新启动vim就看不到重用这些数字的方法.http://vim.wikia.com/wiki/Vim_buffer_FAQ上的vim buffer faq 似乎证实了这一点.

但是我不想相信vim确实有这个限制,是不是真的没有办法从vim中做到这一点?

mic*_*ael 6

您无法在同一会话中重新分配缓冲区编号.最好的办法是环顾四周的替代品.

一个缓冲区浏览器处理对最近使用的文件(并且可以删除缓冲区)的排序是Buffer Explorer/Browser.

vim.org上有许多其他缓冲区切换脚本,可以满足各种作者的需求.或者你可以使用一些映射来自己滚动.

我为Django想出了这个.

http://code.djangoproject.com/wiki/UsingVimWithDjango#Mappings

它使我能够快速地对相对于app目录的20个标准命名文件进行两次/三次击键访问.你可以在这些方面为你的项目想出一些东西.

我的映射是\1,\2,\3等于是数模式仍然存在.

我也映射\vr的〜/ .vimrc\br的〜/ .bashrc.

重要的是它可以而且应该是一个非常有效的过程.