Cómo aumentar el tamaño de la ventana dividida vertical en Vim

316

:vsplit(forma corta :vs:) divide la ventana gráfica de Vim verticalmente. :30vsdivide la ventana gráfica, haciendo que la nueva ventana tenga 30 caracteres de ancho. Una vez que se crea esta ventana de 30 caracteres, ¿cómo cambiaría su tamaño a 31 o 29?

Con ventanas horizontales Ctrl: W +aumenta el número de líneas en uno. ¿Cuál es el comando equivalente para aumentar las columnas en una?

molicule
fuente
15
También puede hacer Ctrl-W 5+ para aumentar la altura de la ventana en 5 (o cualquier número). Lo mismo ocurre con Ctrl-W 5-
AlexMA
1
:h ^wpara ver la lista de comandos de la ventana. :h ^wwpara ver la ayuda del comando normal Ctrl-w w.
qeatzy

Respuestas:

450

CTRL-W >

y

CTRL-W <

para hacer la ventana más ancha o más angosta.

Herbert Sitz
fuente
115
o :30winc > y :30winc <tener 30 caracteres más / menos de ancho.
Benoit
85
o 30CTRL-W >permanecer en el espíritu de la respuesta.
Xavier T.
50
:vertical resize 30para cambiar el tamaño de la ventana actual a exactamente 30 caracteres de ancho.
Peter Rincker
20
también CTRL-W 30>
dhblah
55
:res <N>configurar el tamaño actual de la ventana a exactamente N filas (para altura no ancho)
lukecampbell
249

Y Ctr-W =

los hará iguales

RusAlex
fuente
10
:winc =Esto también los hará iguales.
nitin_cherian
1
Eso es para divisiones horizontales, ¿verdad? ¿Cuál sería el equivalente para las divisiones verticales?
José Ramón
3
@ JoséRamón Este comando funciona para divisiones horizontales y verticales.
Nathan
105

En caso de que también necesite cambiar el tamaño de HORIZONTAL SPLIT :
el comando es el mismo para todas las divisiones, solo cambia el parámetro :

- + en vez de < >

Ejemplos :
disminuir el tamaño horizontal en 10 columnas

:10winc -

Aumentar el tamaño horizontal en 30 columnas.

:30winc +

o dentro del modo normal:

Divisiones horizontales

10 CTRL+w -

30 CTRL+w +

Divisiones verticales

10 CTRL+ w <(disminución)

30 CTRL+ w >(aumento)

freeo
fuente
3
+1. Solo un comentario menor: de acuerdo con las :he winc ctrl+w [count] {arg}obras también ...
Verdaderamente
45

Otro consejo de mi lado:

Para establecer el ancho de la ventana para decir exactamente 80 columnas, use

80 CTRL+W |

Para establecerlo en el ancho máximo, simplemente omita el número anterior:

CTRL+W |
Phil
fuente
66
ALTURA: la contraparte de este parámetro es "_" (shift + -) para ajustar la altura. En realidad, es muy fácil de recordar visualmente, ya que | es literalmente la división vertical y _ es literalmente la línea de división horizontal. Ejemplo: 15 CTRL + W _ Establece la altura actual de las divisiones en 15 filas. Otra forma de recordar: necesita SHIFT para tamaños absolutos, ya que ambos | y _ requieren presionar
shift
29

Tengo estos mapeados en mi .gvimrc para permitirme presionar comando- [flecha] para mover el alto y el ancho de mi ventana actual:

" 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 MacVim, debe colocarlos en su .gvimrc (y no en su .vimrc) ya que de lo contrario el sistema los sobrescribirá .gvimrc

Ted Naleid
fuente
1
¿Qué significa eso <cr> al final? No he visto eso en nnoremap antes
Zen
2
es la abreviatura de "retorno de carro", básicamente es el equivalente del usuario
presionando
9

En la misma línea, utilizo lo siguiente en mi .vimrcpara permitirme moverme a través de las divisiones, expandiendo automáticamente la que estoy moviendo a su tamaño completo y reduciendo todo el resto a su altura o anchura 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>\| 
el hombre de hojalata
fuente
4

Estoy usando números para cambiar el tamaño asignando lo siguiente en .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
fuente
Creo que quieres decir en nmap 9 :vertical res +2<CR>lugar de -2paravertical increase
Zach
Esto es realmente un buen enlace. ¡Gracias!
LeOn - Han Li
3

Esto es lo que estoy usando a partir de ahora:

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
fuente
1

Estoy usando los siguientes comandos para esto:

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