如何映射<cmd>-<shift> -f在Vim中运行Ack插件?


10

我是vim的新手,我正试图映射一个组合键来运行此处找到的Ack插件:https : //github.com/mileszs/ack.vim

我想映射cmd-shift-f以运行Ack命令:Ack。我添加了以下内容~/.vimrc

nmap <D-F> :Ack<space>

没用 我究竟做错了什么?

我在MacOS X的iTerm 2中使用vim 7.3。

Answers:


4

问题在于,在<...>表示法映射中,大小写(大部分)不敏感,因此您必须使用Shift键显式声明要映射的状态。尝试这个:

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

那仍然行不通。这很奇怪,因为nmap <CF>:Ack <space>适用于<ctrl> <shift> -f。但这不适用于<cmd>
jordelver 2012年

1
嗯,有趣。nmap <D-F> :Ack<space>确实可以在MacVim中使用,但不能在终端中使用。看起来cmd无法在终端中识别。
jordelver 2012年

1
最后,根据此页面:unix.stackexchange.com/questions/29665/… 您只能<cmd>在GUI Vim(例如MacVim)中使用键映射。我决定<ctrl>-f现在就一起去。
jordelver 2012年

3

或者..您可以考虑这样做:

nmap <D-F> :Ack <space>

您无需提及班次,这仍然仅以大写字母F触发(因此,尽管绑定中未提及班次,但您仍然必须按下它)。

这至少对我有用。


为我工作!我的用例:nnoremap <silent> <D-D> <C-w>s
aymericbeaumet '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.