Come posso mappare <cmd> - <shift> -f per eseguire il plugin Ack in Vim?


10

Sono nuovo di Vim e sto cercando di mappare una combinazione di tasti per l'esecuzione del plug-in Ack trovato qui: https://github.com/mileszs/ack.vim

Voglio mappare cmd-shift-fper eseguire il comando Ack :Ack. Ho aggiunto quanto segue a~/.vimrc

nmap <D-F> :Ack<space>

Non funziona Che cosa sto facendo di sbagliato?

Sto usando vim 7.3 all'interno di iTerm 2 su MacOS X.

Risposte:


4

Il problema è che all'interno dei <...> mapping delle notazioni, il caso è (principalmente) insensibile, quindi devi dichiarare esplicitamente che vuoi mappare con il tasto Maiusc. Prova questo:

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

Non funziona ancora. È strano perché nmap <CF>: Ack <space> funziona per <ctrl> <shift> -f. Ma non funziona con <cmd>
jordelver

1
Mmm, interessante. nmap <D-F> :Ack<space>funziona in MacVim, ma non nel terminale. Sembra che cmdnon sia riconosciuto in un terminale.
jordelver,

1
E infine, secondo questa pagina: unix.stackexchange.com/questions/29665/… È possibile utilizzare solo <cmd>i mapping dei tasti in una GUI Vim come MacVim. Ho deciso di andare con <ctrl>-fper ora.
jordelver,

3

Oppure ... potresti pensare di farlo in questo modo:

nmap <D-F> :Ack <space>

Non è necessario menzionare il turno e questo si innesca solo con una F maiuscola (quindi anche se il turno non è menzionato nella rilegatura, è comunque necessario premerlo).

Questo funziona almeno per me.


Ha funzionato per me! Il mio caso d'uso:nnoremap <silent> <D-D> <C-w>s
aymericbeaumet il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.