Vim: Otwórz wiele plików w określonej konfiguracji z wiersza poleceń

2

Używam zestawu zakładek i podziałów w oknie Vima do mojego przepływu pracy.

Moja konfiguracja wygląda mniej więcej tak:

Pierwsza zakładka z pionowym podziałem pokazującym dwa bufory. Druga zakładka w następującym podziale:

-----------------------------------
|                    |            |
|                    |            |
|                    | Buffer b   |
|                    |            |
|                    |            |
|  Buffer a          |------------|
|                    |            |
|                    |            |
|                    | Buffer c   |
|                    |            |
|--------------------|------------|

Jak mogę teraz uruchomić vima, aby wszystkie moje pliki były ładowane jako osobne bufory w układzie about? Jestem zbyt leniwy, aby konfigurować ten układ za każdym razem, gdy z jakiegoś powodu muszę ponownie uruchamiać vima.

darnir
źródło
Wydaje się, że jesteś zbyt leniwy, aby przynajmniej poszukać doskonałej pomocy Vima i opublikować swoje próby z pytaniem.
Ingo Karkat
Ingo Karkat: Nie bardzo. Próbowałem, ale nie mogłem znaleźć nic na temat takiej funkcji w pomocy Vima.
darnir

Odpowiedzi:

3

Vim obsługuje argumenty -oi, -Oaby wpływać na zachowanie dzielone przekazywanych plików. Ponieważ można określić tylko jeden, a chcesz mieć asymetryczny układ, musisz to później dostosować, używając poleceń, które możesz przekazać -c {Ex-cmd}.

W przypadku drugiego, bardziej interesującego układu, jednym prostym sposobem jest rozpoczęcie od poziomych podziałów i przesunięcie pierwszego ( buffer a) okna w lewo za pomocą <C-w>H.

$ vim -o -c "wincmd H" a b c

Dodam ci pierwszy układ zakładek jako ćwiczenie dla ciebie ...

Alternatywny

Jeśli zestaw plików jest stały (a układ bardziej złożony), sesje Vima (cp. :help Session) Przechowują układ okna i zestaw otwartych plików.

Ingo Karkat
źródło
Tak! Twoja alternatywa brzmi dobrze. A ponieważ mój zestaw plików jest prawie naprawiony, mogę korzystać z sesji. W ogóle nie wiedziałem o tej funkcji! Wielkie dzięki! (
Zaznaczę
Chociaż wszystko jest wbudowane, mogę polecić wtyczkę session.vim , która upraszcza obsługę sesji.
Ingo Karkat,
Vim-obsesja Tima Pope'a i rozszerzenie vim-prosession to także niesamowite wtyczki rozszerzające tę :mksessionopcję o rozsądne i fantastyczne możliwości.
dragon788
0

Możesz także użyć skryptu vim-layout, który automatycznie używa argumentów -o, -c i obsługuje różne układy. Aby uzyskać pożądany wynik, wystarczy uruchomić:

vl <the three files>

Uwaga: Napisałem scenariusz.

Pomocniczy
źródło