Estou trabalhando em buffers de divisão (usando ^ w + v, ^ w + s), mas às vezes eu gostaria de ampliar uma divisão atual ou alterar sua altura. Como posso conseguir isso?
111
Existem vários comandos de janela que permitem fazer isso:
20<C-w>+
)30<C-w><
)50<C-w>_
)50<C-w>|
)Veja também: :help CTRL-W
:help CTRL-W
e não:help CTRL_W
vimdiff -o bigfile1.bash bigfile2.bash
::ctrl-w =
abre uma terceira janela do MiniBufExplorer na parte superior (e as três janelas agora têm o mesmo tamanho) e, fechando essa, a janela do primeiro arquivo .bash é 2 vezes maior que o segundo arquivo .bash janela. A mesma operação com 2 arquivos .vim fornece os mesmos resultados. :( Mesmo comvim -o
Você também pode usar os
resize
comandos::resize [+-]N
- redimensione uma divisão horizontal, aumentando ou diminuindo a altura em N caracteres.:vertical resize [+-]N
- redimensione uma divisão vertical, aumentando ou diminuindo a altura em N caracteres.:resize N
- redimensione uma divisão horizontal, definindo a altura para N caracteres.:vertical resize N
- redimensione uma divisão vertical, configurando a largura para N caracteres.Estes são equivalentes aos Ctrlwcomandos. Veja
:help window-resize
.fonte
Essa é uma das poucas razões pelas quais eu gosto de usar o modo mouse do vim.
Se você usa a versão da GUI ou o seu terminal suporta o envio de eventos de arrasto (como xterm ou rxvt-unicode), você pode clicar na linha de divisão e arrastar para redimensionar a janela exatamente onde deseja, sem muito trabalho de palpite usando o ctrl -w mais, menos, menos, combinações maiores.
Nas versões de terminal, é necessário definir o modo do mouse corretamente para que isso funcione
(Eu uso 'n', mas 'a' também funciona)
e você precisa definir o tipo de mouse tty
Muitas pessoas dizem que é desperdiçado muito tempo usando o mouse (principalmente devido ao tempo necessário para mover sua mão do teclado para o mouse e para trás), mas acho que, nesse caso, o tempo economizado por ter feedback imediato ao ajustar o tamanho da janela e a rapidez do redimensionamento (continue movendo o mouse em vez de digitar outra sequência de teclas) supera o atraso da mão cheia.
fonte
:set mouse=n
é suficiente, mas para ativar quando o tmux:set ttymouse=xterm2
é necessário.Parece que ninguém foi mencionado
z{nr}<CR>
.Se você
:h ^w_
, veráz{nr}<CR>
logo abaixo, que têm o mesmo efeito que CTRL-W_.Se você não precisa z=de verificação ortográfica e adicionado abaixo a
.vimrc
,Então, para alterar a altura da janela:
fonte
z
é um pouco pouco intuitivo. Acho que devemos nos ater aosC-W
mapeamentos. É bom saber o que há lá fora.Redimensionar divisões mais rapidamente: http://vim.wikia.com/wiki/Resize_splits_more_quickly
Você pode usar o
:resize
comando ou seu atalho:res
para alterar a altura da janela. Para alterar a altura para 60 linhas, use::resize 60
Você também pode alterar a altura em incrementos. Para alterar a altura em incrementos de 5, use:
:res +5 :res -5
Você pode usar: redimensionamento vertical para alterar a largura da janela atual. Para alterar a largura para 80 colunas, use:
:vertical resize 80
Você também pode alterar a largura em incrementos. Para alterar a largura em incrementos de 5, use:
:vertical resize +5 :vertical resize -5
fonte
Resize splits more quickly
, a menos que estes comandos são obrigados a keybindings, o que tem sido feito fora da caixaPor alguma razão (provavelmente um plugin), o padrão
C-w >
(etc.) não funcionou no meu~/.vimrc
.Essas
.vimrc
adições funcionaram (Ctrl-Shift-Left
... ondeLeft | Right
= teclas de seta esquerda e direita, respectivamente.fonte