Komputery, oprogramowanie, internet i okolice
Blog > Komentarze do wpisu

VIM plugin dnia - MiniBufExplorer - zarządzanie buforami

Jak każdy pewnie wie w VIMie dostępne są taby (czy też karty), jednak działają trochę inaczej niż można by się spodziewać. Nie są powiązane z otwartymi plikami (czy raczej buforami), a z określonym layoutem otwartych okien. Szczerze powiedziawszy jakoś nigdy się do nich specjalnie nie przekonałem. Na szczęście jest dostępna wtyczka, która działa dokładnie tak jak można by oczekiwać.

MiniBufExplorer - minibufexpl.vim

VIM plugin - MiniBufExplorer

Mini Buffer Explorer pokazuje listę otwartych buforów w formie listy tabów (kart) znanej z innych programów i pozwala na łatwe poruszanie się pomiędzy nimi.

Instalacja

Oryginalny plugin jest już od dawna nie rozwijany. Na szczęście dostępna jest nowa, aktywnie rozwijana wersja - MiniBufExplorer 6.4 wtyczki, która zawiera poprawki i kilka nowych funkcji. Ściągnięty plik należy umieścić w folderze ~/.vim/plugin/

Konfiguracja i użytkowanie

By otworzyć okno MiniBufExplorera używamy mbe (domyślnie \mbe), lub przełączamy się do jego okna. Następnie za pomocą (Shift)Tab, lub h i l przełączamy się pomiędzy buforami. o, e i Enter otwierają bufor w ostatnio aktywnym oknie, s otwiera bufor dzieląc okno w poziomie, v dzieląc w pionie. d służy do zamknięcia wybranego buforu.

Domyślnie lista buforów wyświetlana jest w formie poziomej linii, jeśli ktoś chciałby wyświetlać je w pionie wystarczy ustawić szerokość okna.

let g:miniBufExplVSplit = 20

Możemy również ustawić kiedy MiniBufExplorer ma się pojawiać (domyślnie gdy otwartych jest więcej niż 1 plik). By okno z listą buforów było otwarte przez cały czas ustawiamy następującą zmienną:

let g:miniBufExplorerMoreThanOne=1

Kolejnymi ciekawymi ustawieniami niezmiernie ułatwiającymi pracę z wieloma oknami na raz są:

let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplMapCTabSwitchWindows = 1
let g:miniBufExplUseSingleClick = 1

Pozwalające odpowiednio na: przełączanie się pomiędzy oknami za pomocą Ctrl + hjkl, Ctrl + strzałki, przełączanie buforów za pomocą Ctrl-Tab, przełączanie okien za pomocą Ctrl-Tab, otwieranie buforu za pomocą pojedynczego kliknięcia.

Jeśli używamy wtyczek typu NERDTree, czy TagList dobrze jest ustawić poniższą zmienną by nie otwierać buforów w oknie dodatkowego eksploratora.

let g:miniBufExplModSelTarget = 1

Na koniec jeszcze małe ostrzeżenie o denerwującym błędzie. W używanej przeze mnie wersji 6.4.0 próba wyjścia z VIMa, gdy otwarte jest tylko jedno okno plus widoczna jest lista buforów (czy to z użyciem :q, czy ZQ) powoduje jedynie przeładowanie zawartości okna. Należy wtedy użyć :qa lub ręcznie zamknąć MiniBufExploerara za pomocą mbc.

Werdykt

Jest to jeden z pluginów, bez których nie wyobrażam sobie normalnej pracy. Wystarczy jedno spojrzenie i już widać jakie pliki są aktualnie otwarte i które z nich zawierają niezapisane zmiany. Zwłaszcza jeśli ma się ustawione set hidden.

poniedziałek, 28 marca 2011, kosciak1

Polecane wpisy

TrackBack
TrackBack w tym blogu jest moderowany. TrackBack URL do wpisu:
Spis Treści
Kanały RSS
Add to Google
Add to Netvibes