Kiedy muszę jednocześnie pracować nad różnymi projektami, mam następujący przepływ pracy:
- Tworzę jedną kartę dla każdego projektu.
- W każdej zakładce otwieram pliki, które chcę edytować, co tworzy kilka buforów.
- Opcjonalnie, jeśli chcę zobaczyć dwa (lub więcej) plików w tym samym czasie, tworzę podzielone okna, więc mam zakładkę zawierającą różne okna, które pokazują jeden bufor.
Do nawigacji między moimi buforami tak naprawdę nie używam, :ls
a :b [name or number of buffer]
zamiast tego stworzyłem wygodne mapowania, które pozwalają mi przełączać się między buforami za pomocą :bnext
i:bprevious
Ten sposób pracy jest całkiem dobry, ale coś mi przeszkadza: bufory są wspólne dla kart.
Jeśli otworzyć file1
i file2
w tab1
i file3
w tab2
razie w tab1
używam kilka razy :bnext
Zobaczę file3
w tej karcie, która nie chce. Przepływ pracy, który chciałbym uzyskać, jest następujący :
- Uruchom vim (mam pierwszą kartę z buforem):
$ vim foo
- Dodaj bufor do tej zakładki:
:e bar
- Otwórz nową kartę i przejdź do niej:
:tabnew
- Otwórz nowy bufor w tej zakładce:
:e baz
- Jeśli pozostanę w tym buforze i zrobię to
:bnext
lub:bprevious
pozostanę wbaz
buforze (ponieważ jest to jedyny w tej zakładce) - Jeśli przejdę do poprzedniej karty
:tabprevious
i wykonam kilka razy:bnext
, przełączę się tylko między buforamifoo
i,bar
ale ich nie zobaczębaz
Oto moje pytanie: czy można powiązać zestaw buforów z kartą i sprawić, że vim nie zezwoli na dostęp do niektórych buforów z innej karty niż ta, w której mają być?
Uwaga: zdaję sobie sprawę, że użycie :b [myBuffer]
byłoby sposobem na utrzymanie bufora na karcie, ale kiedy mam 3 lub 4 pliki do edycji, czuję, że jestem naprawdę szybszy przy użyciu mapowań niż wpisywanie nazwy bufora (nawet jeśli mogę wpisz tylko kilka znaków pasujących do nazwy bufora) .
alt+tab
(lub nawet gorzej myszy) jest znacznie mniej łatwe niż przełączanie tabulatora w vimie.