Como aumentar o tamanho da janela dividida vertical no Vim

316

:vsplit(formato abreviado :vs:) divide a janela de visualização do Vim verticalmente. :30vsdivide a janela de exibição, deixando a nova janela com 30 caracteres de largura. Depois que essa janela de 30 caracteres é criada, como mudar seu tamanho para 31 ou 29?

Com janelas horizontais Ctrl- W +aumenta o número de linhas em um. Qual é o comando equivalente para aumentar as colunas em um?

molécula
fonte
15
Você também pode pressionar Ctrl-W 5+ para aumentar a altura da janela em 5 (ou em qualquer número). O mesmo vale para Ctrl-W 5-
AlexMA 28/02
1
:h ^wpara ver a lista de comandos da janela. :h ^wwpara ver ajuda do comando normal Ctrl-w w.
Qeatzy 03/07

Respostas:

450

CTRL-W >

e

CTRL-W <

para tornar a janela mais larga ou mais estreita.

Herbert Sitz
fonte
115
ou :30winc > e :30winc <ter 30 ou mais caracteres de largura.
Benoit
85
ou 30CTRL-W >permanecer no espírito da resposta.
Xavier T.
50
:vertical resize 30para redimensionar a janela atual para exatamente 30 caracteres de largura.
Peter Rincker
20
também CTRL-W 30>
dhblah 19/07/12
5
:res <N>para ajustar o tamanho da janela atual para exactamente N linhas (por altura não largura)
lukecampbell
249

E Ctr-W =

vai torná-los iguais

RusAlex
fonte
10
:winc =Isso também os tornará iguais.
Nitin_cherian
1
Isso é para divisões horizontais, certo? Qual seria o equivalente para divisões verticais?
José Ramón
3
@ JoséRamón Este comando funciona para divisões horizontais e verticais.
Nathan
105

Caso você também precise redimensionar HORIZONTAL SPLIT :
O comando é o mesmo para todas as divisões, apenas o parâmetro muda:

- + ao invés de < >

Exemplos :
diminua o tamanho horizontal em 10 colunas

:10winc -

Aumentar o tamanho horizontal em 30 colunas

:30winc +

ou no modo normal:

Divisões horizontais

10 CTRL+w -

30 CTRL+w +

Divisões verticais

10 CTRL+ w <(diminuição)

30 CTRL+ w >(aumento)

freeo
fonte
3
+1. Apenas um pequeno comentário: de acordo com as :he winc ctrl+w [count] {arg}obras também ...
TrueY 28/05
45

Outra dica do meu lado:

Para definir a largura da janela, digamos exatamente 80 colunas, use

80 CTRL+W |

Para configurá-lo para a largura máxima, basta omitir o número anterior:

CTRL+W |
Phil
fonte
6
ALTURA: A contrapartida desses parâmetros é "_" (shift + -) para ajustar a altura. Na verdade, é muito fácil lembrar visualmente, pois | é literalmente a divisão vertical e _ é literalmente a linha de divisão horizontal. Exemplo: 15 CTRL + W _ Define a altura atual das divisões para 15 linhas. Outra maneira de lembrar: você precisa de SHIFT para tamanhos absolutos, pois ambos | e _ exigem que a mudança seja pressionada
freeo 19/12/2014
29

Eu tenho esses mapeados no meu .gvimrc para me permitir pressionar command- [arrow] para mover a altura e a largura da minha janela atual:

" resize current buffer by +/- 5 
nnoremap <D-left> :vertical resize -5<cr>
nnoremap <D-down> :resize +5<cr>
nnoremap <D-up> :resize -5<cr>
nnoremap <D-right> :vertical resize +5<cr>

Para o MacVim, você deve colocá-los no seu .gvimrc (e não no seu .vimrc), pois eles serão substituídos pelo sistema .gvimrc

Ted Naleid
fonte
1
o que isso significa no final? Não vi isso no nnoremap antes
Zen
2
é a abreviação de "retorno de carro", basicamente é o equivalente ao bater retorno usuário
Ted Naleid
9

Na mesma linha, uso o seguinte no meu .vimrcpara me permitir percorrer as divisões, expandindo automaticamente a que estou mudando para o tamanho máximo e diminuindo o resto para a altura ou largura mínima:

" Switch between window splits using big J or K and expand the split to its 
" full size. 
" 
" Move vertically in the window through the horizontal splits... 
map <C-J> <C-w>j<C-w>_ 
map <C-K> <C-w>k<C-w>_ 

" Move horizontally in the window through the vertical splits... 
map <C-H> <C-w>h<C-w>\| 
map <C-L> <C-w>l<C-w>\| 
o homem de lata
fonte
4

Estou usando números para redimensionar, mapeando o seguinte em .vimrc

nmap 7 :res +2<CR> " increase pane by 2 
nmap 8 :res -2<CR> " decrease pane by 2
nmap 9 :vertical res +2<CR> " vertical increase pane by 2
nmap 0 :vertical res -2<CR> " vertical decrease pane by 2
Gajendra Jena
fonte
Eu acho que você quer dizer nmap 9 :vertical res +2<CR> vez de -2paravertical increase
Zach
Esta é realmente uma boa ligação. Obrigado!
LeOn - Han Li 01/11/19
3

É isso que estou usando agora:

nnoremap <silent> <Leader>= :exe "resize " . (winheight(0) * 3/2)<CR>
nnoremap <silent> <Leader>- :exe "resize " . (winheight(0) * 2/3)<CR>
nnoremap <silent> <Leader>0 :exe "vertical resize " . (winwidth(0) * 3/2)<CR>
nnoremap <silent> <Leader>9 :exe "vertical resize " . (winwidth(0) * 2/3)<CR>
meain
fonte
1

Estou usando os comandos abaixo para isso:

set lines=50     " For increasing the height to 50 lines (vertical)
set columns=200  " For increasing the width to 200 columns (horizontal)
imbichie
fonte