Как мне сопоставить <cmd> - <shift> -f для запуска плагина Ack в Vim?

10

Я новичок в vim и пытаюсь сопоставить ключевую комбинацию для запуска плагина Ack, найденную здесь: https://github.com/mileszs/ack.vim

Я хочу сопоставить cmd-shift-fкоманду Ack :Ack. Я добавил следующее к~/.vimrc

nmap <D-F> :Ack<space>

Не работает Что я делаю неправильно?

Я использую vim 7.3 в iTerm 2 на MacOS X.

jordelver
источник

Ответы:

4

Проблема заключается в том, что в <...> отображениях обозначений регистр (в основном) нечувствителен, поэтому вам нужно явно указать, что вы хотите отобразить с помощью клавиши Shift. Попробуй это:

nmap <D-S-F> :Ack<space>
Heptite
источник
Это все еще не работает. Это странно, потому что nmap <CF>: Ack <space> работает для <ctrl> <shift> -f. Но это не работает с <cmd>
jordelver
1
Хм, интересно. nmap <D-F> :Ack<space>работает в MacVim, но не в терминале. Похоже, cmdне распознается в терминале.
Джордельвер
1
И, наконец, согласно этой странице: unix.stackexchange.com/questions/29665/… Вы можете использовать <cmd>сопоставления клавиш только в графическом интерфейсе Vim, таком как MacVim. Я решил просто пойти <ctrl>-fсейчас.
Джордельвер
3

Или .. вы могли бы подумать сделать это так:

nmap <D-F> :Ack <space>

Вам не нужно упоминать о сдвиге, и он по-прежнему срабатывает только с заглавной буквой F (поэтому, хотя сдвиг не упоминается в привязке, вы все равно должны нажать его).

Это работает для меня по крайней мере.

Джейсон Ф
источник
Работал на меня! Мой вариант использования:nnoremap <silent> <D-D> <C-w>s
aymericbeaumet