Pregunta

Tengo una entrada en mi .vimrc que hace que la página baje por la ventana gráfica cuando presiono la barra espaciadora. Se ve así:

map <Space> <PageDown>

Quiero crear otra asignación de teclas que suba la vista de la ventana al mantener presionada la tecla Mayús y presionar la barra espaciadora. He intentado las siguientes entradas:

map <Shift><Space> <PageUp>
map <S-Space> <PageUp>

Ninguno de los dos trabaja. ¿Alguien sabe cómo lograr esta funcionalidad?

¿Fue útil?

Solución

No puedes. La solución de CMS funcionará para gVim, pero no en vim porque los terminales no pueden distinguir entre & Lt; Space & Gt; y < S-Space > porque las maldiciones los ven igual. Podría ser posible en el futuro si vim gana el soporte de libtermkey y su terminal admite el correcto & Lt; CSI & Gt; secuencias (xterm lo hace si está configurado correctamente; nada más lo hace todavía).

Otros consejos

Si está utilizando vim dentro de iTerm2, puede asignar el espacio de desplazamiento a ctrl + U enviando la tecla hexadecimal 15. Aquí hay una captura de pantalla:

ingrese la descripción de la imagen aquí

Para buscar un código hexadecimal para una combinación de ctrl + letra, por ejemplo ctrl + u, puede hacer lo siguiente:

  • En vim ingrese el modo de inserción
  • Presione ctrl + v luego ctrl + u luego ctrl + c luego ga
  • varias representaciones numéricas se imprimirán en la parte inferior

Puede aplicar esta idea a otros emuladores de terminal que admitan la asignación de teclas.

Use esto:

map <Space> ^D   " Pagedown when press Space
map <S-Space> ^U " Page Up when press Shift Space

Para obtener el símbolo ^ D y ^ U correctamente, simplemente presione Control-V Control-D y Control-V Control-U

Para OSX:

nnoremap <Space> <C-d>
nnoremap <S-Space> <C-u>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top