Karabiner-ElementsでMavVimだけ特定のキーマップを除外する

MacにHHKBを付けているので、Karabiner-Elementsにいつもお世話になってます。

仕事ではMacWindowsを同時に使うのでMacWindowsキーバインドをある程度あわせたくて、Complex Modificationsに PC-Style Shortcuts の中から PC-Style Copy/Paste/Cut を追加しています。

ところでVimで矩形選択をたまにしたくなるのですが「Ctrl + v」がペーストになってしまいます。
iTerm2の中でVim使ってるときはうまくいくのだからこれはなにかの設定に違いない。。。

ぐぐるfrontmost_application_unless を設定しなさいということらしい。

qiita.com

~/.config/karabiner/assets/complex_modifications/ を探ると 1543454397.jsonPC-Style Shortcuts のようです。
※ このファイル名、別のMacで見てみたら違ってました。

「Ctrl + v」を探すと

        {
          "type": "basic",
          "from": {
            "key_code": "v",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "v",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.mac$",
                "^com\\.microsoft\\.rdc\\.macos$",
                "^com\\.microsoft\\.rdc\\.osx\\.beta$",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.vmware\\.fusion$",
                "^com\\.vmware\\.horizon$",
                "^com\\.vmware\\.view$",
                "^com\\.parallels\\.desktop$",
                "^com\\.parallels\\.vm$",
                "^com\\.parallels\\.desktop\\.console$",
                "^org\\.virtualbox\\.app\\.VirtualBoxVM$",
                "^com\\.vmware\\.proxyApp\\.",
                "^com\\.parallels\\.winapp\\.",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$"
              ]
            }

とありました。やっぱり iterm2 設定されてる。

ここにMacVimを追加しよう! Karabiner-ElementsのEvenViewerを立ち上げて、「Frontmost Application」にしてからMacVimを触ると

Bundle Identifier:  org.vim.MacVim
File Path:          /Applications/MacVim.app/Contents/MacOS/MacVim

と出ます。 ということで↑の bundle_identifiers

                "^org\\.vim\\.MacVim$"

を追加します。

これでKarabiner-Elementsを再起動すればいいと思ったのですがどうも反映しない。
Complex Modificationsで PC-Style Copy/Paste/Cut をremoveしてからadd ruleしてみたら反映した!

f:id:gozuk16:20190830184916p:plain

やっと出来たー。