Czy istnieje sposób na przeniesienie istniejącego okna (podzielenie) i umieszczenie go w nowej karcie?
Czy istnieje sposób na przeniesienie istniejącego okna (podzielenie) i umieszczenie go w nowej karcie?
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ć:
:help Ctrl-W_T
:help Ctrl-W
help Ctrl-W_T
przenosi cię do wpisu pomocy Ctrl-W_t
(małe litery), jednak dalej w dół strony jest Ctrl-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 wtedy set undofile
. Pozwoli ci to wyjść z vima, a następnie zrestartować i nadal zachować stan cofania / ponawiania.
Próbować
:tabedit %<CR>
C-w T
to szybszy sposób na zrobienie tego samego
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
:sbp |wincmd p| wincmd T
Możesz to zmapować w ten sposób do Ctrl-Backspace
:nnoremap <C-BS> :sbp<bar>wincmd p<bar>wincmd T<CR>
działa szczególnie dobrze z
:set switchbuf=usetab
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).