vim, zakładki

Dawniej praca z wieloma plikami była dość kłopotliwa przy użyciu vim‘a. Szczęśliwie dla wszystkich obecnie jest to historia, a problem został skutecznie rozwiązany. Począwszy od wydania wersji 7 edytora standardowym wyposażeniem są zakładki, których korzystanie znacząco zwiększa komfort pracy. Sama w sobie zakładka jest jedynie kolekcją okien, które możemy dowolnie konfigurować. Dla przypomnienia bufor to wczytany do pamięci plik, okno to graficzna reprezentacja buforu, a zakładka to zbiór okien. Z całą pewnością otwiera to wiele możliwości wygodnego operowania danymi.

Zaprzyjaźnimy się z zakładkami! Zacznijmy od poznania sposobów tworzenia nowej zakładki. Najprostszy to wykonanie komendy :tabnew w trybie normalnym. Utworzony zostanie nowa zakładka z załadowanym jednym oknem i pustym buforem. Możemy do niej wczytać plik i zabrać się za jego edycję. Wykonanie obu czynności w jednym ruchu zawiera komenda :tabnew [FILE]. Wygodnie o ile znamy ścieżkę do pliku. Trzeci sposób to uruchomienie edytora komendą vim -p [FILE1] [FILE2]. Tym sposobem utworzymy nową sesję z każdym plikiem załadowanym w indywidualnym oknie w osobnej zakładce. Najczęściej korzystam z opcji pierwszej i wbudowanej przeglądarki plików. Takie są moje preferencje.

Domyślne ustawienia “ograniczają” ilość zakładek do 10. Moim zdaniem praca z większą ilością jest mało efektywna, jednak jeśli lubisz mieć wszystko pod ręką możesz skorzystać z opcji konfiguracyjnej set tabpagemax=[NUM] zwiększając liczbę zakładek. vim automatycznie przypisuje każdej zakładce numer, numerując je od strony lewej do prawej zaczynając od 0. Jeśli kolejność zakładek ma dla Ciebie znaczenie komenda :tabm [NUM], przeniesie bieżącą zakładkę do pozycji [NUM]. Pomijając [NUM] zakładkę przenosimy na koniec listy. Tym sposobem możesz układać zakładki według własnych preferencji. W rzeczywistości jedna zakładka zawiera zwykle więcej niż jedno okno, więc ograniczenie do 10 jest moim zdaniem sensowne.

Dobra, utworzyliśmy sobie kilka zakładek i warto by umieć między nimi nawigować. Przede wszystkim wiedzmy co mamy pod ręką. By podejrzeć listę otwartych zakładek możemy podejrzeć włączając pasek zakładek set showtabline=2, lub wydając w trybie normalnym komendę :tabs.

Do poruszania się między zakładkami wykorzystujemy :tabn, lub gt, by przejść do następnej zakładki, oraz :tabp, lub gT by przejść do zakładki poprzedniej.

Tworzenie zakładek możemy usprawnić według własnych preferencji poprzez mapowanie klawiszy nam wygodnych. Wydając komendę :imap ;t <ESC>:tabnew<CR>, lub dodając ją do pliku .vimrc, mamy możliwość tworzenia nowych zakładek ilekroć wykonamy kombinację ;t. Usunięcie kombinacji wykonamy poleceniem :unmap! ;t.

Zakładki to nie tylko osobne pola robocze. Możliwe jest jednoczesne wykonanie komend w każdej dostępnej zakładce. Załóżmy, że chcemy zamienić słowo słowo X na Y w każdej zakładce. Wykonamy to jedną komendą :tabdo, a dokładniej :tabdo %s/X/Y/g. Nic prostszego.

Powyższy spis nie wyczerpuje w całości możliwości zakładek. Zachęcam Cię do lektury :tab help, by poszerzyć swoją wiedzę. Poniżej spis komend, których wcześniej nie poruszałem, a mogą okazać się przydatne:

  • :tabedit [FILE] edytuj plik [FILE] w zakładce,
  • :tabfind [FILE] utwórz nową zakładkę z załadowanym plikiem o nazwie [FILE] znalezionym w PATH,
  • :tabclose zamknij bieżącą zakładkę,
  • :tabclose [NUM] zamknij zakładkę o numerze [NUM],
  • :tabonly zamknij wszystkie zakładki poza bieżącą,
  • :tab split skopiuj okna w aktualnym widoku, każde do osobnej zakładki,
  • Ctr-w T przenieś bieżące okno do nowej zakładki - działa, gdy zakładka ma więcej niż jedno okno
Jeżeli zamierzasz do tego, żeby żyło Ci się wygodnie, prawdopodobnie nigdy nie będziesz bogaty. Lecz jeśli zmierzasz do tego, by być bogatym, prawdopodobnie będzie Ci w końcu niesamowicie wygodnie. 'Bogaty albo biedny' T. Harv Eker