¿Cómo cambio la asignación de claves de división de Vim?

¿Cómo cambio la asignación de claves de división de Vim?

Recientemente comencé a aprender Vim y no me gusta la asignación de teclas predeterminada para dividir ventanas en Vim. Es decir, no me gusta ingresar Cw y luego S para horizontal y v para vertical, y mover el foco con Cw jkhl o arriba-abajo, izquierda-derecha.

Me gustaría tener 'h' para dividir horizontalmente y 'v' para dividir verticalmente cuando estoy en Modo Normal, sin ingresar Cw. ¿Cómo se puede hacer esto? Y también, ¿alguien conoce una configuración sensata para cambiar el foco en Windows, porque no estoy seguro de si eso tiene sentido sin Cw?

Gracias.

Respuesta1

Esta no es una buena respuesta ya que no recuerdo de dónde los saqué, pero en mi _vimrc( .vimrcen Windows)

Este lote se mueve entre buffers, es decir, Alt right arrowse mueve al siguiente buffer a la derecha, etc.

    nmap <silent> <A-Right> :wincmd l<CR>
    nmap <silent> <A-Up> :wincmd k<CR>
    nmap <silent> <A-Down> :wincmd j<CR>
    nmap <silent> <A-Left> :wincmd h<CR>

Actualizar Vim utiliza un concepto de líder, es decir, una tecla estándar seguida de otra(s) tecla(s), para facilitar los comandos. Ver :h <Leader>. El valor predeterminado es retroceder en la instalación predeterminada que uso, let mapleader = ","ya que me resulta ,sw(leftarrow)más fácil que backspace(leftarrow). Lo que significa es, por ejemplo, nmap <leader>q :q!<cr>que al escribir ,qse sale del búfer actual sin guardarlo. Actualización FINAL

Estos comandos reasignan los comandos vim a un comando más corto usando el leadercomando, por ejemplo, para crear un nuevo búfer en la parte superior izquierda de sus búferes, use leader>sw<left>donde <left>significa la flecha izquierda

    nmap <leader>sw<left>  :topleft  vnew<CR>
    nmap <leader>sw<right> :botright vnew<CR>
    nmap <leader>sw<up>    :topleft  new<CR>
    nmap <leader>sw<down>  :botright new<CR>
    nmap <leader>s<left>   :leftabove  vnew<CR>
    nmap <leader>s<right>  :rightbelow vnew<CR>
    nmap <leader>s<up>     :leftabove  new<CR>
    nmap <leader>s<down>   :rightbelow new<CR>

información relacionada