Я исследовал несколько способов ведения списка открытых буферов в Vim, и некоторые из них очень хороши, но, похоже, ни один из них не ведет себя так, как мне бы хотелось. Вполне возможно, что ничего подобного тому, чего я хочу, не существует, и это не помешает спросить.
Я использую NERDTree в GVim, и мне нравится идея поместить информацию в тонкое левое окно. Я собрал удобную диаграмму для того, как бы я хотел, чтобы моя среда выглядела
|--------|---------------------------------------|
| | |
| | |
|NERDTree| Windows |
| | |
| | |
| | |
|--------| |
| | |
| | |
| List | |
| of | |
| Open | |
| Buffers| |
| | |
| | |
|--------|---------------------------------------|
Итак, мой вопрос: есть ли vim-native или плагин-включенный способ поддерживать список открытых в данный момент буферов и выбирать / редактировать / закрывать из этого списка внутри окна, похожего на NERDTree?
Я понимаю, что этот подход может быть несовместим с образом работы Vim , и если вы чувствуете, что я что-то упускаю из-за того, как управлять несколькими файлами в сеансе Vim, оставьте комментарий с предложениями!
источник
Ответы:
Вы искали хранилище плагинов vim.org? Есть десятки плагинов для переключения буфера на выбор, например, BufferGator или SelectBuf . Кроме того, большинство из них собраны в хороший список вики Vim .
Как вы упоминали в последней части вашего вопроса, такая система не всем по вкусу.
Я ненавижу, когда все эти меню, кнопки и списки того или иного всегда открыты: список открытых буферов полезен только тогда, когда вам действительно нужно перейти к другому буферу, оставляя такой список открытым мне кажется пустой тратой пространства , То же самое можно применить и к перегруженным статусным линиям.
Я использую тот же плагин для быстрого переключения между буферами и быстрого изучения файловой системы вокруг файла, который я сейчас редактирую. Вызывается с
,f
(файлы) или,b
(буферы), окно исчезает, когда я закончил. Отлично. Есть другие подобные плагины , попробуйте их все, если вам нравится эта идея.РЕДАКТИРОВАТЬ
Я чувствую себя обязанным добавить анимированный GIF CtrlP в действии, переключая буферы:
EndEdit
Натив
:sb <Tab>
тоже довольно опрятный, но менее сексуальный. Он не поддерживает нечеткое соответствие , но она имеет некоторые большие преимущества: он построен и он работает , как:e <Tab>
,:vs <Tab>
и так далее.источник
,b
в буферах поиска с помощью ctrlp?nnoremap ,b :CtrlPBuffer<CR>
.Я очень рекомендую MiniBufExplorer . Смотрите также альтернативу минибуфэксплорер?
источник
MiniBufExplorer
находится наверху (где он не тратит так много места, как слева). Или, может быть, я неправильно понял ваши требования.Есть способ сделать это, используя плагин winmanager . На этом скриншоте я объединяю плагины NERDTree и MiniBufExpl (github: techlivezheng / vim-plugin-minibufexpl, latest commit atm 349a9fbb) в одном вертикальном разделении и переключаю его с помощью F4. Теоретически это решение должно работать для любой другой комбинации плагинов.
Пример моего .vimrc
Проблемы:
Поведение, которого я достиг, далеко от совершенства, но это хорошее начало.
источник