¿Cómo mapeo <cmd> - <shift> -f para ejecutar el complemento Ack en Vim?

10

Soy nuevo en vim y estoy tratando de asignar un combo de teclas para ejecutar el complemento Ack que se encuentra aquí: https://github.com/mileszs/ack.vim

Quiero mapear cmd-shift-fpara ejecutar el comando Ack :Ack. He agregado lo siguiente a~/.vimrc

nmap <D-F> :Ack<space>

No funciona ¿Qué estoy haciendo mal?

Estoy usando vim 7.3 dentro de iTerm 2 en MacOS X.

jordelver
fuente

Respuestas:

4

El problema es que dentro de las asignaciones de notación <...>, el caso es (en su mayoría) insensible, por lo que debe indicar explícitamente que desea asignar con la tecla Mayús. Prueba esto:

nmap <D-S-F> :Ack<space>
Heptita
fuente
Eso todavía no funciona. Es extraño porque nmap <CF>: Ack <space> funciona para <ctrl> <shift> -f. Pero no funciona con <cmd>
jordelver
1
Mmmm interesante. nmap <D-F> :Ack<space>funciona en MacVim, pero no en la terminal. Parece que cmdno se reconoce en una terminal.
jordelver
1
Y finalmente, de acuerdo con esta página: unix.stackexchange.com/questions/29665/… Solo puede usar <cmd>asignaciones de teclas en una GUI Vim como MacVim. He decidido ir <ctrl>-fpor ahora.
jordelver
3

O ... podrías pensar en hacerlo de esta manera:

nmap <D-F> :Ack <space>

No necesita mencionar el cambio y esto todavía solo se dispara con una F mayúscula (por lo tanto, aunque el cambio no se menciona en el enlace, aún debe presionarlo).

Esto funciona para mí al menos.

Jason F
fuente
¡Trabajó para mi! Mi caso de uso:nnoremap <silent> <D-D> <C-w>s
aymericbeaumet