Jak zmienić bieżące okna z podziału poziomego na pionowy i na odwrót w Vim?Aby szybko przejść z podziału pionowego na poziomy, w Vim
Zrobiłem to przed chwilą przez przypadek, ale nie mogę znaleźć klucza ponownie.
Jak zmienić bieżące okna z podziału poziomego na pionowy i na odwrót w Vim?Aby szybko przejść z podziału pionowego na poziomy, w Vim
Zrobiłem to przed chwilą przez przypadek, ale nie mogę znaleźć klucza ponownie.
Vim mailing list mówi (re-formatowane dla lepszej czytelności):
Aby zmienić dwa podzielone pionowo okna do horizonally podzielić
Ctrl - wtCtrl - wK
poziomo w pionie:
Ctrl - wtCtrl - WH
Objaśnienia:
Ctrl - wt sprawia, że pierwsze okienko (topLeft) aktualne Ctrl - wK przesuwa bieżące okno do pełnej szerokości na samej górze Ctrl - wH przenosi bieżące okno do pełnej wysokości po lewej stronie:
Należy pamiętać, że t ma małe litery , a K i H są wielkie.
Również tylko dwa okna, wydaje się, że można upuścić Ctrl - wt część bo jeśli jesteś już w jednym z zaledwie dwóch okien, co jest punktem co prąd?
Więc jeśli masz dwa okna podzielona poziomo, a ty jesteś w dolnej części okna, wystarczy użyć^WL. –
.... Moc ... Moje vim-fu podwoiło się dzisiaj, dziękuję. Istnieje mnóstwo interesujących poleceń^w (b, w, itp.) –
jakoś nie działa dla mnie .. =/ – holms
W VIM, spojrzeć na następujące czynności, aby zobaczyć różne alternatywy dla tego, co można zrobić:
: otwarcie okna pomocy
Na przykład:
Ctrl - Ws
Ctrl - WO
Ctrl - Wv
Ctrl - WO
Ctrl - Ws
...
^w
następnie kapitału H
, J
, K
lub L
przeniesie bieżące okno na drugim left
, bottom
, top
lub right
odpowiednio jak normalnej nawigacji kursora.
Ekwiwalenty pisane małymi literami przenoszą ostrość zamiast przesuwania okna.
to dużo lepiej, ponieważ użytkownicy używają hjkl do przemieszczania się między buforami. –
Przyjęta odpowiedź jest dobra, ale dla mnie ta odpowiedź jest łatwiejsza do zapamiętania. Dzięki! –
Działa również lepiej z nerdtree. – arcseldon
Poniższe ex komendy (ponownie) podzielić dowolną liczbę okien:
:vertical ball
:ball
Jeśli istnieją ukryte bufory, wydawanie tych poleceń spowoduje również, że ukryte bufory będą widoczne.
To powinna być zaakceptowana odpowiedź, ponieważ bieżąca zaakceptowana odpowiedź będzie działać tylko dla dwóch plików. Ta odpowiedź jest bardziej kompletna. – DrStrangepork
': vert [ical] ball' w doc więc': vert ball' jest również ok i krócej. – Titou
'' ball' redukuje 3 pionowe okna do 2 poziomych okien, a ': vert ball' poprawnie mapuje 3 poziome okna na 3 pionowe. – Titou
Kiedy masz dwie lub więcej otwarte okna poziomo lub pionowo i chcą, aby przełączyć się do nich wszystko do innej orientacji, można użyć następujący:
(zmien na poziome)
:windo wincmd K
(przełącznik do pionu)
:windo wincmd H
To effectiv ely będzie każdego okna indywidualnie, ^WK lub ^WH.
Po Mark Rushakoff wskazówka above, tu jest mój mapowanie:
" vertical to horizontal (| -> --)
noremap <c-w>- <c-w>t<c-w>K
" horizontal to vertical (-- -> |)
noremap <c-w>\| <c-w>t<c-w>H
noremap <c-w>\ <c-w>t<c-w>H
noremap <c-w>/ <c-w>t<c-w>H
Edit: użycie Ctrl - wr zamienić dwa okna, jeśli nie są one w dobrym stanie.
Zainspirowany przez Steve'a, napisałem prostą funkcję, która przełącza między pionowymi i poziomymi podziałami dla wszystkich okien w bieżącej zakładce. Możesz powiązać go z mapowaniem, jak w ostatnim wierszu poniżej.
function! ToggleWindowHorizontalVerticalSplit()
if !exists('t:splitType')
let t:splitType = 'vertical'
endif
if t:splitType == 'vertical' " is vertical switch to horizontal
windo wincmd K
let t:splitType = 'horizontal'
else " is horizontal switch to vertical
windo wincmd H
let t:splitType = 'vertical'
endif
endfunction
nnoremap <silent> <leader>wt :call ToggleWindowHorizontalVerticalSplit()<cr>
może [dwm.vim] (https://github.com/spolu/dwm.vim) Wtyczka będzie trochę przydatny –