Sprawdziłem kilka sposobów utrzymywania listy otwartych buforów w Vimie, a niektóre z nich są bardzo dobre, ale żaden z nich nie zachowuje się tak, jak bym chciał. Jest bardzo możliwe, że nie istnieje nic takiego, czego chcę, i pytanie nie może zaszkodzić.
Korzystam z NERDTree w GVim i podoba mi się pomysł umieszczenia informacji w smukłym oknie po lewej stronie. Przygotowałem przydatny schemat tego, jak chciałbym, aby moje środowisko wyglądało:
|--------|---------------------------------------|
| | |
| | |
|NERDTree| Windows |
| | |
| | |
| | |
|--------| |
| | |
| | |
| List | |
| of | |
| Open | |
| Buffers| |
| | |
| | |
|--------|---------------------------------------|
Moje pytanie brzmi więc: czy istnieje sposób na natywną obsługę vim lub obsługę wtyczek, aby utrzymywać listę aktualnie otwartych buforów i wybierać / edytować / zamykać z tej listy w oknie podobnym do NERDTree?
Rozumiem, że takie podejście może być niezgodne ze sposobem działania Vima , a jeśli czujesz, że brakuje mi czegoś do zarządzania wieloma plikami w sesji Vima, zostaw komentarz z sugestiami!
źródło
Odpowiedzi:
Czy przeszukiwałeś repozytorium wtyczek vim.org? Istnieje wiele wtyczek do przełączania buforów, z których możesz wybierać między innymi BufferGator lub SelectBuf . Alternatywnie, większość z nich jest skompilowana na ładnej liście na wiki Vima .
Jak wspomniałeś w ostatniej części pytania, taki system nie przypadnie do gustu każdemu.
I hate posiadające wszystkie te menu, przycisków i list to czy tamto otwarte przez cały czas: lista otwartych buforów jest przydatna tylko gdy rzeczywiście trzeba przeskoczyć do innego bufora, pozostawiając taką listę Rozwinąć wydaje się stratą przestrzeni do mnie . To samo można również zastosować do linii statusu doładowania.
Używam tej samej wtyczki do szybkiego przełączania między buforami i szybkiego odkrywania systemu plików wokół aktualnie edytowanego pliku. Wywołane z
,f
(plikami) lub,b
(buforami), okno znika, kiedy skończę. Doskonały. Istnieją inne podobne wtyczki , wypróbuj je wszystkie, jeśli podoba Ci się ten pomysł.EDYTOWAĆ
Czuję się zmuszony do dodania animowanego pliku GIF CtrlP w akcji, przełączając bufory:
ENDEDIT
Tubylec
:sb <Tab>
jest również dość schludny, ale mniej seksowny. To nie obsługuje dopasowania rozmyte, ale ma kilka dużych zalet: jest zbudowany i jak to działa:e <Tab>
,:vs <Tab>
i tak dalej.źródło
,b
celu wyszukiwania buforów za pomocą ctrlp?nnoremap ,b :CtrlPBuffer<CR>
.Mogę gorąco polecić MiniBufExplorer . Zobacz także alternatywę dla minibufexplorer?
źródło
MiniBufExplorer
jest na górze (gdzie nie marnuje tyle miejsca, jak po lewej). A może źle zrozumiałem twoje wymagania.Jest sposób na zrobienie tego dokładnie za pomocą wtyczki winmanager . Na tym zrzucie ekranu łączę wtyczki NERDTree i MiniBufExpl (github: techlivezheng / vim-plugin-minibufexpl, najnowsze zatwierdzenie atm 349a9fbb) w tym samym pionowym podziale i przełączam go za pomocą F4. Teoretycznie to rozwiązanie powinno działać z każdą inną kombinacją wtyczek.
Przykład mojego .vimrc
Problemy:
Zachowanie, które osiągnąłem, jest dalekie od ideału, ale to dobry początek.
źródło