Eu também gosto de vim! Eu estava procurando por algo muito similar (eu uso jk
mas alguma diferença).
Eu descobri!
TL;DR You want to use the Karabiner app
É um pouco confuso no começo, mas eles têm toneladas de opções para remapear chaves. O que você está procurando vai envolver "chaves simultâneas" felizmente, há uma pesquisa, então se você procurar por "simultane" e "escape", você encontrará um casal que mapeia para escapar:
Vocênotaráqueissonãoseencaixaemnenhumdosnossoscasosdeuso...vocêestáprocurandojj
eestouprocurandojk
.Sevocêestácontenteemretreinarsuamemóriamuscularparaji
,entãovocêjáestápronto.Sevocêaindaquiserficarcomjj
,teráquefazeralgumasetapasextras.
Felizmente,érelativamentesimplesadicionarseusprópriosremapeadospersonalizadoscomoarquivosxml.SuainstalaçãodoKarabinerdevevircomumprivate.xml
queviveem/Users/Username/Library/ApplicationSupport/Karabiner
(devesercapazdeencontrá-lorapidamentecomdestaque).Essearquivocomeçabemnuparaquevocêpossapreenchê-locomqualquertipodenovosmapeamentosquevocêdeseja.Vocêpodeconferiradocumentaçãosobrecomofazerisso
Para o que você quer, você só quer substituir o que há com o seguinte:
<?xml version="1.0"?>
<root>
<item>
<name>Stephen Custom Keyboard mappings</name>
<appendix></appendix>
<item>
<name>SimultaneousKeyPresses</name>
<item>
<name>J and K to escape</name>
<appendix>(J+K to Escape)</appendix>
<identifier>private.j_k_to_escape</identifier>
<autogen>__SimultaneousKeyPresses__ KeyCode::J, KeyCode::K, KeyCode::ESCAPE</autogen>
</item>
</item>
</item>
</root>