2009-08-11 13 views
8

Utilizo divisiones de ventanas horizontales y verticales en VIM y hasta hace poco, disfrutaba de la comodidad de dos comandos para ocultar (o minimizar) efectivamente mis divisiones horizontales. Me los puse encima de agregar las siguientes líneas a mi archivo .vimrc:"Minimizar" divisiones verticales de ventanas VIM

set winminheight=0 
map <C-J> <C-W>j<C-W>_ 
map <C-K> <C-W>k<C-W>_ 

Golpear Control-j o Control-k navega a través de las divisiones horizontales por ir hacia arriba o hacia abajo. Lo que me gustaría lograr es lo mismo para divisiones verticales mostrando u ocultando la división izquierda o derecha usando Control-Shift-h y Control-Shift-l; h moviéndose hacia la izquierda, l hacia la derecha. He intentado lo siguiente con poco o ningún éxito:

set winminwidth=0 
map <S-C-L> 500<C-W>h<C-W>_ 
map <S-C-H> 500<C-W>l<C-W>_ 

La acción sería similar a la utilización de Control-w-< y Control-w->, solamente moviendo la división vertical completamente hacia la izquierda o escribir, no sólo una línea a la vez .

¿Alguna idea sobre cómo lograr esto? Gracias.

Respuesta

11

En primer lugar, no podrá usar < S-C- (shift + control) en su código (ver a continuación). Pero puede usar el 'mapleader' como su "shift" y luego usar < C-h> y < C-l> como desee. De esta manera:

set winminwidth=0 
nmap <Leader><C-h> <C-W>h500<C-W>>    
nmap <Leader><C-l> <C-W>l500<C-W>>    

Las claves líder comunes en vim está comas y back-slash:

:let mapleader = "," 

Pero usted encontrará que esto se pone molesto para requerir 3 pulsaciones de teclas para esto, así que como era de Bueno, solo suelta el golpe de la tecla de control. De esta manera (si su líder es por comas) podrá sencillamente presionar "h" y "L" para ir a las divisiones a la izquierda y la derecha:

set winminwidth=0 
nmap <Leader>h <C-W>h500<C-W>>    
nmap <Leader>l <C-W>l500<C-W>>  

" (FTW) :D 

...

un tipo llamado tony Chapman answers qué no se puede utilizar el control + shift:

Vim mapas de sus Ctrl+printable_key combinaciones de acuerdo a ASCII. Este significa que "Ctrl+lowercase letter" es el mismo que el correspondiente "Ctrl+uppercase letter" y que Ctrl+<key> (donde <key> es una clave imprimible ) solamente se define cuando <key> es en la gama 0x40-0x5F, una minúscula carta, o un signo de interrogación.También significa que Ctrl-[ es la misma que Esc, Ctrl-M es la misma que Enter, Ctrl-I es el mismo que Tab.

Así que sí, y Ctrl-sCtrl-S (es decir Ctrl-s y Ctrl-Shift-s) son los mismos que Vim. Esto es por diseño y no está va a cambiar.

2

Trate

set winminwidth=0 
map <S-C-L> <C-W>h<C-W>| 
map <S-C-H> <C-W>l<C-W>| 

Esto no se mueve una ventana completamente hacia la izquierda o hacia la derecha (que es <C-W>H y <C-W>L), que sólo se mueve el cursor hacia la izquierda (o derecha) de la ventana y maximiza la ventana horizontalmente .

Ver :help CTRL_W_bar para más.

Cuestiones relacionadas