2016-04-15 2 views
0

Я использую плагин perlsupport для проверки синтаксиса кода. Когда он выполняет проверку синтаксиса, он помещает файлы с предупреждениями и ошибками в буферы. Иногда я хочу, чтобы быстро закрыть эти другие буферы кроме первого, потому что это сценарий, я работаю.Удаление всех буферов, кроме первого, с одной командой

Я попытался 2,:bd и 2,$:bd и :bd 2 Quickfix\ List и :bd 2 [Quickfix\ List] и другие варианты, не увенчалась успехом. Благодарю.

Я должен добавить, что я знаю, что могу перечислить буферы, найти последний номер буфера и сделать что-то вроде 2,N:bd, но я бы предпочел только одну команду, которую я могу превратить в ярлык.

+1

': 2,999bd'? С http://stackoverflow.com/questions/4545275/vim-close-all-buffers-but-this-one - возможный дубликат. – TessellatingHeckler

ответ

0

Вы можете написать команду, которая использует exec построить правильный bd команду:

command! Bd exec '2,' . bufnr("$") . 'bd' 

bufnr("$") это число последнего буфера.

В качестве теста:

:badd foo 
:badd bar 
:Bd 

Дает:

2 buffers deleted 
Смежные вопросы