Duplicar posibles:
To switch from vertical split to horizontal split fast in VimCómo voltear ventanas en vim?
Si he 2 ventanas dividida horizontalmente, cómo girarlas para conseguir 2 ventanas divididas verticalmente?
¿Y cómo cambiar los buffers?
Duplicar posibles:
To switch from vertical split to horizontal split fast in VimCómo voltear ventanas en vim?
Si he 2 ventanas dividida horizontalmente, cómo girarlas para conseguir 2 ventanas divididas verticalmente?
¿Y cómo cambiar los buffers?
Si los tiene divididos verticalmente CwJ mover uno a la parte inferior
si los tiene dividida horizontal CwL para mover uno a la derecha
Para girar en una "columna" o "fila" de ventanas divididas, CwCr
Los siguientes comandos se pueden usar para cambiar el diseño de la ventana. Por ejemplo, cuando hay dos ventanas divididas verticalmente, CTRL-W K cambiará eso en ventanas divididas horizontalmente. CTRL-W H lo hace al revés.
Finalmente estoy empezando a "sentir". Increíble cuánto tiempo he sobrevivido sin estos comandos. –
Para rotar ventanas divididas, creo que solo necesita "C-w r", no "C-w C-r". –
@TomLord Eso también funciona. Aunque eso no necesita "menos". Es simplemente diferente. Y creo que "Cw r" es un poco incómodo (especialmente si se repite) – sehe
CTRL - WSHIFT - H girará la orientación, CTRL - WH se mueve a la ventana de la izquierda, CTRL - WL se mueve a la derecha. Ver
:help split
y
:help ^w
para más información.
Ese es para cambiar buffers. ¿Cómo cambiar la dirección de las ventanas? –
@Arnis^wH cambiará la orientación del diseño de la ventana.^wh que se mueve a la ventana de la izquierda. Las operaciones son sensibles a mayúsculas y minúsculas –
lo descubrió. Gracias. –
Ctrl-wH o escriba :wincmd H
para pasar de horizontal a vertical diseño.
Ctrl-wJ o escriba :wincmd J
para pasar de vertical a horizontal diseño.
Ctrl-wr o escriba :wincmd r
a intercambio las dos buffers pero mantener el diseño de la ventana de la misma.
Ctrl-ww o escriba :wincmd w
a movimiento del cursor entre las dos ventanas/buffers.
Es posible que desee vincular una o más de estas secuencias para que sea más rápido escribir. Pongo esto en mi .vimrc modo que ,l mueve el cursor a la siguiente memoria intermedia en la pestaña actual:
let mapleader = ","
nmap <Leader>l <C-w>w
exactamente lo que estaba buscando, ¡gracias! – Masha
Perfecto ... Esto debería haber sido aceptado :-) – cholewa1992
@Nick Los dos primeros realmente responden la pregunta y los segundos dos van más allá, ¡lo cual es increíblemente útil! La función de "intercambio" es particularmente útil para mí cuando traduzco documentos, porque prefiero tener lenguajes de origen siempre en un lado específico y no siempre los abro en ese orden :) –
Las respuestas actuales de todo un gran trabajo si sólo tiene dos ventanas abiertas. Si tiene más que eso, la lógica para mover ventanas puede ponerse peluda.
Tengo esto en mi .vimrc para permitirme 'tirar' y 'borrar' un búfer y luego pegarlo en una ventana sobre el búfer en uso o como una división [v].
fu! PasteWindow(direction) "{{{
if exists("g:yanked_buffer")
if a:direction == 'edit'
let temp_buffer = bufnr('%')
endif
exec a:direction . " +buffer" . g:yanked_buffer
if a:direction == 'edit'
let g:yanked_buffer = temp_buffer
endif
endif
endf "}}}
"yank/paste buffers
:nmap <silent> <leader>wy :let g:yanked_buffer=bufnr('%')<cr>
:nmap <silent> <leader>wd :let g:yanked_buffer=bufnr('%')<cr>:q<cr>
:nmap <silent> <leader>wp :call PasteWindow('edit')<cr>
:nmap <silent> <leader>ws :call PasteWindow('split')<cr>
:nmap <silent> <leader>wv :call PasteWindow('vsplit')<cr>
:nmap <silent> <leader>wt :call PasteWindow('tabnew')<cr>
no estoy seguro de cómo funciona su función - quizás agregue un simple ejemplo visual – serup
Esto es brillante. Mucho mejor que 'C-W J' y amigos. Lo extendería con '
Cambiar * buffers *? O * windows *? – Johnsyweb
@Johnsyweb switch buffers, rotate windows. Pero lo tengo ... –