Como mapeio <cmd> - <shift> -f para executar o plugin Ack no Vim?


9

Eu sou novo no vim e estou tentando mapear uma combinação de teclas para executar o plugin Ack encontrado aqui: https://github.com/mileszs/ack.vim

Quero mapear cmd-shift-fpara executar o comando Ack :Ack. Adicionei o seguinte a~/.vimrc

nmap <D-F> :Ack<space>

Isso não funciona. O que estou fazendo errado?

Estou usando o vim 7.3 no iTerm 2 no MacOS X.

Respostas:


4

O problema é que, dentro dos mapeamentos de <...> notação, maiúsculas e minúsculas são insensíveis, portanto, você deve declarar explicitamente que deseja mapear com a tecla Shift. Tente o seguinte:

nmap <D-S-F> :Ack<space>

Isso ainda não funciona. É estranho porque o nmap <CF>: Ack <space> funciona para <ctrl> <shift> -f. Mas ele não funciona com <cmd>
jordelver

11
Hmm interessante. nmap <D-F> :Ack<space>funciona no MacVim, mas não no terminal. Parece que cmdnão é reconhecido em um terminal.
Jordelver

11
E, finalmente, de acordo com esta página: unix.stackexchange.com/questions/29665/… Você só pode usar <cmd>mapeamentos de teclas em uma GUI Vim, como o MacVim. Eu decidi apenas continuar <ctrl>-fpor agora.
Jordelver

3

Ou .. você poderia pensar em fazê-lo desta maneira:

nmap <D-F> :Ack <space>

Você não precisa mencionar a mudança e isso ainda é acionado apenas com F maiúsculo (portanto, embora a mudança não seja mencionada na encadernação, você ainda precisa pressioná-la).

Isso funciona para mim, pelo menos.


Trabalhou para mim! Meu caso de uso:nnoremap <silent> <D-D> <C-w>s
aymericbeaumet
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.