Kiedyś używałem kombinacji zakładek i wielu instancji gvima, zachowując grupy powiązanych plików jako zakładki w każdej instancji. Tak długo, jak nie skończyło się na zbyt wielu kartach w jednym przypadku, pasek kart pokazuje nazwę każdego edytowanego pliku na pierwszy rzut oka.
Następnie przeczytałem post Jamisa Bucka o tym, jak przeszedł z TextMate z powrotem na vim i nauczyłem się kilku świetnych sztuczek:
- Ctrl-w si Ctrl-w v, aby podzielić bieżące okno
- Ctrl-6, aby przełączać się między dwoma buforami w tym samym oknie.
- niesamowity fuzzyfinder.vim, który umożliwia automatyczne uzupełnianie wyszukiwania plików w bieżącym katalogu lub w aktualnie otwartych buforach
- Własne fuzzy_file_finder i fuzzyfinder_textmate Jamisa , które nieznacznie modyfikują sposób działania fuzzyfinder, zachowując się bardziej jak podobna funkcja w TextMate (o ile wiem, różnica polega na tym, że pasuje w dowolnym miejscu w nazwie pliku, a nie tylko od początku). Obejrzyj ten film, aby zobaczyć, jak to działa.
Teraz mam tylko jedną instancję gvim, zmaksymalizowaną i podzieloną na wiele okien, dzięki czemu mogę zobaczyć kilka plików jednocześnie. Powiązałem Ctrl-F z fuzzyfinder_textmate, więc teraz, jeśli napiszę (powiedzmy) Ctrl-F mod/usob
, otworzy się app / models / user_observer.rb. Prawie nigdy więcej nie zawracam sobie głowy zakładkami.
Aktualizacja 2010/08/07
Chociaż fuzzyfinder_textmate pozostaje niesamowity, jak wskazuje Casey w komentarzach, nie jest już obsługiwany. Poza tym (i / lub fuzzyfinder.vim) działa trochę wolno i niestabilnie podczas pracy z dużymi projektami (wiele katalogów lub plików), więc szukałem alternatywy.
Na szczęście, nie wydaje się być bardzo miłą alternatywą w postaci Wincent Colaiuta „s wtyczki Command-T . Ma to bardzo podobne (jeśli nie nieco lepsze) zachowanie jak fuzzyfinder_textmate, ale jest zauważalnie szybsze; ma również fajne funkcje, takie jak możliwość otwarcia znalezionego pliku w podziale lub podziale pionowym. Dziękuję (i życzenia!) Davidowi Riversowi za wskazanie tego.
Używam podstaw - '
:ls
' + ':bn
' / ':bp
' + ':b <part-of-name>
'źródło
:map <c-n> :bn<cr>
i:map <c-p> :bp<cr>
, ponieważC-n
iC-p
są szybkie w pisaniu i umożliwiają przełączanie między buforami, jeśli naciskasz je wielokrotnie. (Nigdy nie używałem ich zgodnie z ich pierwotnym przeznaczeniem). To tak, jakby przełączać się między kartami przeglądarki za pomocą skrótuC-PgUp
iC-PgDn
lub dowolnego innego skrótu, jaki ma przeglądarka.[b
za poprzedni bufor i]b
następny bufor. Plus mnóstwo innych gadżetów, które wykorzystują koncepcję]
następnego i[
poprzedniego.Lubię "ctrl-w s" i "ctlr-w v", aby podzielić okno. Następnie mapuję klawisze ruchu (h, j, k, l) z wciśniętym klawiszem Ctrl, aby poruszać się między podzielonymi oknami:
Konieczność przesuwania ręki do klawiszy strzałek jest denerwująca.
Następnie ustawiłem kartę ctlr, aby przełączać się między buforami w bieżącym oknie (podobnie jak wiele innych środowisk):
Działały one dla mnie całkiem nieźle przez ostatnie kilka lat, chociaż vim zawsze ma więcej sekretów, niż możesz wiedzieć.
źródło
:bp
i <SK> do:bn
i nikt nie wspomniał o fajnej wtyczce ctrlp.vim . Za pomocą tej wtyczki możesz przeszukiwać bufor według nazwy.
źródło
używam
CTRL-J na następny bufor
CTRL-K dla poprzedniego bufora
CTRL-L dla następnej zakładki
CTRL- Hdla poprzedniej zakładki
Oto
.vimrc
konfiguracja:Zobacz http://syskall.com/my-biggest-vim-productivity-boost/
źródło
źródło
:tab sball
najpierw lub zamiast używać:tabn
powinieneś użyć:buffer
Ostatnio poszedłem bardziej minimalistycznie.
Aby cyklicznie korzystać z buforów ]bi [bod nieuszkodzonych: https://github.com/tpope/vim-unimpaired
Aby przeskoczyć bezpośrednio do otwartego bufora, po prostu użyj uzupełniania tabulatorów Vima z :b . Kilka liter wystarczy, aby dostać się do dowolnego otwartego bufora z jedną lub dwiema zakładkami.
Podobnie jak w przypadku otwartych buforów, których używam :e ze ścieżkami względnymi i zakończeniem tabulacji.
Ja też używam :lsCzasami aby zobaczyć, jakie bufory mam otwarte (i sprawdzić ich zmodyfikowany stan).
Aby pozbyć się bufora, używam go :bwdo czyszczenia bufora. Zwykle jednak robię tymczasowy podział i zmieniam bufory, aby zachować mój układ:bw również zamyka aktywne okno.
Wszystkie rzeczy, które wypróbowałem w minibufie, po prostu mnie irytowały i nie chcę, aby jakaś inteligentna rzecz otwierała dla mnie losowe pliki. Jeśli naprawdę potrzebuję czegoś poszukać, używam NERDtree ( :e .).
IDK, Ostatnio też porzuciłem Yankring (bo się schrzanił xp) i zacząłem używać rejestrów, a ostatnio zdecydowałem, że f/ truchy to najlepsza rzecz na świecie ...
źródło
<leader>ll
do:ls
. Bardzo przydatne jest również upewnienie się, że maszset wildmenu
w swoim,.vimrc
ponieważ wtedy otrzymasz małe menu, które zawiera wszystkie alternatywy dla:b
Doskonały Eksplorator bufora , be stał się tak silną pamięcią mięśniową, że chciałbym użyć go w innych aplikacjach. Uważam, że jest niezwykle szybki podczas aktywnego edytowania więcej niż dwóch plików.
źródło
Spędziłem sporo czasu na budowaniu mojego .vimrc do pracy z tym projektem HTML :: Mason, nad którym pracuję od czterech lat, więc mam dziwną mieszankę zakładek i podzielonych okien. Dla przyjemności oglądania:
źródło
Używam tselectbuffer . Jest naprawdę szybki iw przeciwieństwie do bufexplorer nie zajmuje miejsca w oknie. Ma również wyszukiwanie przyrostowe, próbowałem minibufexplorer i nawigacja w buforze była dla mnie trochę trudna.
źródło
,be
,,bs
,,bv
, więc odwzorowywane TSelectBuffer do,bb
.Aby wyświetlić listę i przełączać się między buforami, których używam:
Aby przełączać się między buforami:
źródło
Zamapowałem
<S-J>
i<S-K>
do:bp
i:bn
chociaż przyznaję, że nie używam go, ponieważ liczba plików jest większa niż 10. Następnie zmapowałem<C-J>
i<C-K>
na poprzednie i następne zakładki Gnome Terminal i zwykle uruchamiam 4 instancje vim dla każdego z 4 różne projekty, nad którymi pracuję. Nadal bardzo chciałbym, żeby następny i poprzedni bufor przeszedł do historii buforów, nad którymi pracowałem, a nie do kolejności na liście buforów.źródło
Używam tselectbuffer. Jest naprawdę szybki iw przeciwieństwie do bufexplorer nie zajmuje miejsca w oknie. Ma również wyszukiwanie przyrostowe, próbowałem minibufexplorer i nawigacja w buforze była dla mnie trochę trudna.
źródło
używam prostych: vsplit z ^ W + w / ^ W + r i: tabnew z kombinacjami klawiszy Ctrl + Alt + PgUp / PgDown.
źródło
Kiedy w sesji Vima jest otwartych kilka buforów, śledzenie buforów i odpowiadających im numerów buforów może być trudne. W takim przypadku przejście do innego pliku można ułatwić za pomocą prostej mapy:
vim.wikia.com
źródło