How do I map <cmd>-<shift>-f to run Ack plugin in Vim? </shift></cmd>

3530
jordelver

I'm new to vim and I'm trying to map a key combo for running the Ack plugin found here: https://github.com/mileszs/ack.vim

I want to map cmd-shift-f to run the Ack command :Ack. I've added the following to ~/.vimrc

nmap <D-F> :Ack<space> 

It doesn't work. What am I doing wrong?

I'm using vim 7.3 within iTerm 2 on MacOS X.

9

2 Antworten auf die Frage

4
Heptite

The problem is that within <...> notation mappings, case is (mostly) insensitive, so you have to explicitly state you want to map with the shift key. Try this:

nmap <D-S-F> :Ack<space> 
Das funktioniert immer noch nicht. Es ist komisch, weil nmap : Ack funktioniert für -f. Aber es geht nicht mit jordelver vor 12 Jahren 0
Hmm, interessant. `nmap : Ack`funktioniert in MacVim, aber nicht im Terminal. Sieht aus, als würde cmd in einem Terminal nicht erkannt. jordelver vor 12 Jahren 1
Und schließlich laut dieser Seite: http://unix.stackexchange.com/questions/29665/in-vim-how-to-map-command-right-and-command-left-to-beginning-of-line- and-e Sie können nur `verwenden`Tastenzuordnungen in einem GUI-Vim wie MacVim. Ich habe mich entschieden mit `zu gehen-f` vorerst. jordelver vor 12 Jahren 1
3
Jason F

Oder ... du könntest darüber nachdenken:

nmap <D-F> :Ack <space>

Sie brauchen die Schicht nicht zu erwähnen, und dies löst immer noch nur ein Großbuchstabe F aus (obwohl die Schicht in der Bindung nicht erwähnt wird, müssen Sie sie trotzdem drücken).

Das funktioniert zumindest für mich.

Arbeitete für mich! Mein Anwendungsfall: `nnoremap s` aymericbeaumet vor 8 Jahren 0