2010-12-28 5 views
9

Я обычно предпочитаю использовать номера буферов, чтобы быстро перейти к буферам. К сожалению, после многих поисков, открытия некоторых файлов и т. Д. Номера буфера сходят с ума:Vim: Изменение номеров буфера

  1. Нужно ли в любом случае назначать номера буферов вручную?
  2. Нужно ли в любом случае перезапустить нумерацию буферов?

Спасибо.

ответ

8

Невозможно назначить номера буфера вручную или переназначить их в этом отношении. Единственный способ перезапустить нумерацию буферов - перезапустить vim. Вас может заинтересовать SelectBuf script.

2

Попробуйте bufferexplorer плагин для vim. Это также полезно, чтобы отобразить некоторые ключи к Fx ключи, вот пример:

"Bufexplorer mapings 
nmap <F5> <Esc>:BufExplorer<cr> 
vmap <F5> <esc>:BufExplorer<cr> 
imap <F5> <esc>:BufExplorer<cr> 

" F6 - previous buffer 
nmap <F6> :bp<cr> 
vmap <F6> <esc>:bp<cr>i 
imap <F6> <esc>:bp<cr>i 

" F7 - next buffer 
nmap <F7> :bn<cr> 
vmap <F7> <esc>:bn<cr>i 
imap <F7> <esc>:bn<cr>i 
3

Я думаю, что я придумал, как сделать это. Используйте mksession: {session_filename}, закройте свою сессию, откройте {session_filename}, найдите линии с badd {filename}, добавьте/отредактируйте/удалите/упорядочите эти строки, затем откройте его снова с помощью vim -S {session_filename}. Буферы будут в новом порядке. Будьте осторожны при удалении, если это текущий или активный файл. Я буду ссылаться в других местах.

0

Вы можете попробовать этот плагин buffer-enancment.

Это небольшой слой над родной переключения буфера, что позволяет назначать номера буферов и вызывать их на это число, как, например:

назначить текущий буфер в количестве 1

1<leader><C-6> 

когда вы хотите загрузить переключатель буфера к нему, как вы обычно переключиться в буфер 1

1<C-6> 

Он работает путем сохранения словаря буферов присвоенной погрузки m вместо обычного буфера, если он присутствует. Если ключ отсутствует, он просто попытается загрузить буфер с этим номером.

4

«Буферные номера сходят с ума» Расскажите мне об этом! К концу дня мне легко сбросить более 100 буферов. Но, к счастью, как вы можете видеть в этой анимации, у вас есть вкладка завершение для имен буферов.

Hit :b se<Tab>

Таким образом, даже если вы не можете изменить нумерацию буферов, вы можете прыгать вокруг легко.