Jeśli kiedykolwiek wrócisz do tego pytania, zmień zaakceptowaną odpowiedź, odpowiedź DrAI jest dużo bardziej poprawna niż ta od Mykoły.
gbr
Odpowiedzi:
261
Oprócz wcześniej sugerowanego :tabeditpodejścia, szybszym sposobem na to jest (w trybie normalnym) trafienie Ctrl- WShift- T. Ctrl-W to ogólny przedrostek dla wielu różnych poleceń służących do manipulacji oknami.
Zauważ, że help Ctrl-W_Tprzenosi cię do wpisu pomocy Ctrl-W_t(małe litery), jednak dalej w dół strony jest Ctrl-W_Twpis (z dużym T), mówiący "Przenieś bieżące okno na stronę nowej karty ...."
Rabarberski
1
@DrAl i jak przenieść okno nowej karty do podzielonego okna?
Ramiz Uddin
@RamizUddin Nie ma prostego sposobu na zrobienie tego (ponieważ nie jest oczywiste, na które okno chcesz się podzielić). Możesz jednak znaleźć numer bufora dla bieżącej strony karty za :echo bufnr("")pomocą i używając tego numeru, możesz podzielić okno za pomocą :sp #3lub :sb 3(zakładając, że liczba wynosiła 3). Możesz wymyślić pewne mapowania lub funkcje, aby to uprościć.
DrAl
1
Jak przenieść bufor do nowej karty, zachowując stan cofania / ponawiania. Innymi słowy, nie chcę otwierać tego samego pliku w nowej karcie, chcę dosłownie przenieść bufor na nową kartę, aby historię edycji można było wykorzystać w nowej karcie. Jeśli nie ma domyślnego sposobu na zrobienie tego, założę się, że można stworzyć wtyczkę, która doda nowy skrót do tego, który zapisze historię cofania w pliku wymiany dla nowego bufora.
trusktr
2
@trusktr Wyobrażam sobie, że otwarcie bufora w nowej karcie :sbdziałałoby, ale w ostatnich wersjach Vima (> = 7.3) możesz również użyć trwałego cofania, ustawiając, set undodir=/path/to/dirgdzie / path / to / dir to katalog, który stworzone w tym celu i wtedy set undofile. Pozwoli ci to wyjść z vima, a następnie zrestartować i nadal zachować stan cofania / ponawiania.
Z tego samego powodu dodałem „:”. To jest kompletna kombinacja klawiszy Vima w trybie normalnym i możesz jej używać w 'nnoremap' i 'nmap'
Mykola Golubyev
6
Działa to również, z wyjątkiem tego, że klonuje / duplikuje okno do nowej karty, w przeciwieństwie do zamykania go najpierw, a następnie otwierania w nowej karcie. Nic takiego. Po prostu coś, o czym należy pamiętać.
A-Dubb,
6
To nie przenosi bufora do nowej karty, po prostu otwiera ten sam plik w nowej karcie, ale nie będziesz mieć historii cofania / ponawiania itp.
trusktr
5
C-w Tto szybszy sposób na zrobienie tego samego
Dylanthepiguy,
3
Spowoduje to przeniesienie najnowszego bufora do nowej karty i przywrócenie poprzedniego bufora na bieżącej karcie. Używam tego po przeciągnięciu nowego pliku do mojego Gvima
Używam tego, co daje dwie funkcje, które można przypisać do pary skrótów klawiszowych lub poleceń, i które działa całkiem intuicyjnie. Jestem prawie pewien, że oferuje zachowanie nawet bardziej przyjazne niż np Ctrl-W_T.
Na przykład, gdy wiele okien jest otwartych na wielu kartach, użycie tej funkcji pozwala konkretnie przenieść bieżące okno do następnej lub poprzedniej karty, a jeśli przesuniesz coś przed pierwszą lub za ostatnią kartą, to się zmieni do zupełnie nowej karty.
Oznacza to, że jeśli masz 2 karty, z których każda ma jedno okno, to przesunięcie okna pierwszej karty w prawo spowoduje połączenie go z drugą kartą, tworząc jedną kartę z dwoma oknami. Nie wiem, jak skomplikowana jest ta operacja przy użyciu tradycyjnych poleceń.
Oznacza to, że pojedyncza para poleceń przenoszenia pozwala na przesuwanie okien wokół zakładek, dzielenie okien na zakładki (poprzez wypychanie okna do końca) i łączenie oddzielnych zakładek w okna wewnątrz jednej zakładki, prawie wszystko możesz chcieć, poza układem pozycyjnym (który jest osobnym tematem i do którego wbudowane Ctrl-W+ Shift-HJKLpolecenia działają dobrze).
Odpowiedzi:
Oprócz wcześniej sugerowanego
:tabedit
podejścia, szybszym sposobem na to jest (w trybie normalnym) trafienie Ctrl- W Shift- T. Ctrl-W to ogólny przedrostek dla wielu różnych poleceń służących do manipulacji oknami.Widzieć:
źródło
help Ctrl-W_T
przenosi cię do wpisu pomocyCtrl-W_t
(małe litery), jednak dalej w dół strony jestCtrl-W_T
wpis (z dużym T), mówiący "Przenieś bieżące okno na stronę nowej karty ....":echo bufnr("")
pomocą i używając tego numeru, możesz podzielić okno za pomocą:sp #3
lub:sb 3
(zakładając, że liczba wynosiła 3). Możesz wymyślić pewne mapowania lub funkcje, aby to uprościć.:sb
działałoby, ale w ostatnich wersjach Vima (> = 7.3) możesz również użyć trwałego cofania, ustawiając,set undodir=/path/to/dir
gdzie / path / to / dir to katalog, który stworzone w tym celu i wtedyset undofile
. Pozwoli ci to wyjść z vima, a następnie zrestartować i nadal zachować stan cofania / ponawiania.Próbować
źródło
C-w T
to szybszy sposób na zrobienie tego samegoSpowoduje to przeniesienie najnowszego bufora do nowej karty i przywrócenie poprzedniego bufora na bieżącej karcie. Używam tego po przeciągnięciu nowego pliku do mojego Gvima
Możesz to zmapować w ten sposób do Ctrl-Backspace
działa szczególnie dobrze z
źródło
Używam tego, co daje dwie funkcje, które można przypisać do pary skrótów klawiszowych lub poleceń, i które działa całkiem intuicyjnie. Jestem prawie pewien, że oferuje zachowanie nawet bardziej przyjazne niż np
Ctrl-W_T
.Na przykład, gdy wiele okien jest otwartych na wielu kartach, użycie tej funkcji pozwala konkretnie przenieść bieżące okno do następnej lub poprzedniej karty, a jeśli przesuniesz coś przed pierwszą lub za ostatnią kartą, to się zmieni do zupełnie nowej karty.
Oznacza to, że jeśli masz 2 karty, z których każda ma jedno okno, to przesunięcie okna pierwszej karty w prawo spowoduje połączenie go z drugą kartą, tworząc jedną kartę z dwoma oknami. Nie wiem, jak skomplikowana jest ta operacja przy użyciu tradycyjnych poleceń.
Oznacza to, że pojedyncza para poleceń przenoszenia pozwala na przesuwanie okien wokół zakładek, dzielenie okien na zakładki (poprzez wypychanie okna do końca) i łączenie oddzielnych zakładek w okna wewnątrz jednej zakładki, prawie wszystko możesz chcieć, poza układem pozycyjnym (który jest osobnym tematem i do którego wbudowane
Ctrl-W
+Shift-HJKL
polecenia działają dobrze).źródło