Czy ktoś ma eleganckie rozwiązanie dla MacVima lub gvima na wielu monitorach (potencjalnie o różnej rozdzielczości)? Posiadanie 2 sesji nie działa dobrze z powodu oddzielnych buforów i plików wymiany.
Można by pomyśleć, że 2 okna GUI mogą mieć te same bufory, ale nie mogę znaleźć niczego, co działa.
Odpowiedzi:
Rozwiń
gvim
okno, aby objąć oba ekrany i użyj, CTRL-W vaby podzielić okno edycji w pionie.Zobacz
:help CTRL-W
więcej poleceń okna.źródło
Często też używam wielu monitorów, więc zrobiłem proste obejście, dopóki vim nie zaimplementuje tej funkcji. Używając skryptu lua o nazwie gitv, mogę otworzyć plik na wielu instancjach GVIM jednocześnie. Zasadniczo, gdy istnieją dwa wystąpienia GVIM o nazwie GVIM1 i GVIM2, to po prostu upewniłem się, że tylko jeden plik jest edytowalny jednocześnie, a wszystkie pozostałe są przeglądarkami. (Wszystko odbywa się automatycznie bez monitowania.)
Przepływ pracy: Obecnie gitv jest przeznaczony dla repozytoriów git, więc można go używać tylko do tych plików w repozytorium git. Możesz łatwo zmienić to domyślne zachowanie, modyfikując funkcję lsFiles ().
Aby najpierw otworzyć a.txt na GVIM1, użyj
$ gitv gvimr GVIM1 a.txt
Otworzy się okno gvim, jeśli go nie ma. Następnie, aby otworzyć ten sam plik a.txt w innej instancji GVIM2, użyj
$ gitv gvimr GVIM2 a.txt
(lub możesz utworzyć alias taki jak $ gvim2 a.txt)Następnie gitv wewnętrznie wykonuje następujące czynności:
Jeśli chcesz edytować plik a.txt na monitorze 1 zamiast monitora 2, zrób to, aby przełączyć aktywny bufor: $ gitv gvimr GVIM1 a.txt (lub gvim1 a.txt) Można to zrobić łatwiej w gvim1 za pomocą ctrl + g + a.txt
(Spowoduje to automatyczne ustawienie tego samego bufora jako otwartego w innych przypadkach gvim „tylko do odczytu”, aby zapobiec uszkodzeniu danych).
gitv można pobrać tutaj: http://code.google.com/p/gitv/ Został przetestowany tylko na Linuksie gvim, ale można go łatwo przenieść na MacVIM.
źródło