VimでAckプラグインを実行するために<cmd>-<shift> -fをどのようにマッピングしますか?


9

私はvimを使い始めたばかりですが、ここにあるAckプラグインを実行するためのキーコンボをマッピングしようとしています。https//github.com/mileszs/ack.vim

cmd-shift-fAckコマンドを実行するようにマップしたい:Ack。以下を追加しました~/.vimrc

nmap <D-F> :Ack<space>

動作しません。何が悪いのですか?

MacOS X上のiTerm 2内でvim 7.3を使用しています。

回答:


4

問題は、<...>表記マッピング内では、大文字と小文字が(ほとんど)区別されないため、Shiftキーを使用してマッピングすることを明示的に指定する必要があることです。これを試して:

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

それでも機能しません。nmap <CF>:Ack <space>が<ctrl> <shift> -fに対して機能するため、これは奇妙です。ただし、<cmd>では機能しません
jordelver '07

1
うーん、面白い。nmap <D-F> :Ack<space>MacVimでは機能しますが、ターミナルでは機能しません。cmd端末で認識されないようです。
ジョーデルバー

1
そして最後に、このページによると:unix.stackexchange.com/questions/29665/…<cmd>キーマッピングはMacVimなどのGUI Vimで のみ使用できます。とりあえず一緒に行くことにし<ctrl>-fました。
jordelver

3

または、次のように考えることもできます。

nmap <D-F> :Ack <space>

シフトについて言及する必要はなく、これは依然として大文字のFでのみトリガーされます(したがって、バインディングではシフトについて言及されていませんが、それを押す必要があります)。

これは少なくとも私にとってはうまくいきます。


私のために働いた!私の使用例:nnoremap <silent> <D-D> <C-w>s
aymericbeaumet
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.