Bagaimana cara memetakan <cmd> - <shift> -f untuk menjalankan plugin Ack di Vim?

9

Saya baru mengenal vim dan saya mencoba memetakan kombo kunci untuk menjalankan plugin Ack yang ditemukan di sini: https://github.com/mileszs/ack.vim

Saya ingin memetakan cmd-shift-funtuk menjalankan perintah Ack :Ack. Saya telah menambahkan yang berikut ke~/.vimrc

nmap <D-F> :Ack<space>

Itu tidak bekerja. Apa yang saya lakukan salah?

Saya menggunakan vim 7.3 dalam iTerm 2 di MacOS X.

jordelver
sumber

Jawaban:

4

Masalahnya adalah bahwa dalam pemetaan notasi <...>, case (sebagian besar) tidak sensitif, jadi Anda harus secara eksplisit menyatakan Anda ingin memetakan dengan tombol shift. Coba ini:

nmap <D-S-F> :Ack<space>
Heptite
sumber
Itu masih tidak berhasil. Ini aneh karena nmap <CF>: Ack <spasi> berfungsi untuk <ctrl> <shift> -f. Tetapi itu tidak bekerja dengan <cmd>
jordelver
1
Hmm menarik. nmap <D-F> :Ack<space>berfungsi di MacVim, tetapi tidak di terminal. Sepertinya cmdtidak dikenali di terminal.
jordelver
1
Dan akhirnya, menurut halaman ini: unix.stackexchange.com/questions/29665/… Anda hanya dapat menggunakan <cmd>pemetaan kunci dalam GUI Vim seperti MacVim. Saya telah memutuskan untuk pergi dengan <ctrl>-funtuk saat ini.
jordelver
3

Atau .. Anda bisa berpikir untuk melakukannya dengan cara ini:

nmap <D-F> :Ack <space>

Anda tidak perlu menyebutkan shift & ini masih hanya memicu dengan huruf F besar (jadi meskipun shift tidak disebutkan dalam binding, Anda masih harus menekannya).

Setidaknya ini bekerja untuk saya.

Jason F
sumber
Bekerja untukku! nnoremap <silent> <D-D> <C-w>s
Kasing