¿Hay alguna manera de asignar pegar a control+shift+v y dejar el modo de bloque visual como control+v en gvim?
Utilizo ambos con bastante frecuencia.
Respuesta1
Esta no es una respuesta autorizada, pero no parece haber ninguna forma de distinguir entre Ctrl+Shift+<letra> y Ctrl+<letra> en gvim.
Probé esto usando gvim 7.3.138 para Windows y gvim 7.3.189 para X en Linux. Entré al modo de inserción, escribí Ctrl-V para insertar la siguiente clave literalmente (ver ":ayuda i_CTRL-V") y luego escribí Ctrl-V. El resultado apareció como ^V
. Repetí el experimento, escribiendo Ctrl-Shift-V al final. El resultado volvió a aparecer como ^V
.
También hay un elemento de tareas pendientes (":help todo.txt") que sugiere que no se implementa el manejo de los dos casos por separado, pero se está considerando.
8 ¿Debería funcionar la asignación de <CA> y <CSA>?
Respuesta2
<C-v>
ya hace lo que quieres.
Para el otro va a ser más complicado: algunos (¿la mayoría?) terminales tratan <CONTROL><SHIFT>
exactamente igual <CONTROL>
. Así <CONTROL><SHIFT>v
seráprobablementeFunciona en GVim, pero el mapeo será inútil en modo regular vim
.
Además, ¿qué "pegar" desea mapear: p
u P
otro "_dP
?
Respuesta3
En gvim 9.1, puedo mapear tanto <C-V>
en <C-S-V>
Windows como en Linux (v9.1.0139). Sólo consulte con
nmap <C-V> :echo "C-V"<CR>
nmap <C-S-V> :echo "C-S-V"<CR>
Nota:Si <C-S-V>
está asignado, tengo que reasignarlo <C-V>
para noremap <C-V> <C-V>
preservar la función de selección de bloque visual de <C-V>
.