119 votes

Retourner windows dans vim?

Double Possible:
Pour passer de la verticale de split à split horizontal rapide dans Vim

Si j'ai 2 horizontalement split windows, comment faire pour les faire pivoter pour obtenir 2 à la verticale de séparer les fenêtres?

Et comment mettre des tampons?

236voto

sehe Points 123151

Si vous en avez divisé verticalement C-wJ pour déplacer l'un vers le bas

Si vous en avez divisé horizontalement C-wL pour déplacer vers la droite

Pour faire pivoter une 'colonne' ou 'ligne' de split windows, C-wC-r

Les commandes suivantes peuvent être utilisées pour modifier la fenêtre de mise en page. Par exemple, lorsqu'il y a deux verticalement split windows, CTRL-W K va changer que dans partagé horizontalement windows. CTRL-W H t-il dans l'autre sens.

82voto

Nick Points 6350

Ctrl-w H ou de type :wincmd H pour passer de la verticale à l'horizontale de mise en page.

Ctrl-w J ou tapez :wincmd J pour passer de la verticale à l'horizontale de mise en page.

Ctrl-w r ou de type :wincmd r à inverser les deux tampons , mais de garder la fenêtre de mise en page de la même.

Ctrl-w w ou le type :wincmd w pour déplacer le curseur entre les deux fenêtres/tampons.

Vous pouvez lier un ou plusieurs de ces séquences pour le rendre plus rapide à taper. J'ai mis cela dans mon .vimrc, de sorte que ,l se déplace le curseur à la prochaine tampon dans l'onglet en cours:

let mapleader = ","
nmap <Leader>l <C-w>w

11voto

William Pursell Points 56211

CTRL-W SHIFT-H pivoter l'orientation, CTRL-W H se déplace vers la fenêtre de gauche, CTRL-W L se déplace vers la droite. Voir

:aider à split

et

:aide ^w

pour plus d'informations.

6voto

Greg Sexton Points 4621

L'actuel répond à tous de l'excellent travail si vous avez seulement deux fenêtres ouvertes. Si vous avez plus de cela, la logique de déplacement des fenêtres peut s'arracher les cheveux.

J'ai ceci dans mon .vimrc pour me permettre de 'copier' et 'supprimer' un tampon, puis les coller dans une fenêtre au-dessus du tampon courant ou [v]split.

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>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X