Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vimでインサートモードを抜ける時のあれ(Hammerspoon版その2)

$
0
0

IntelliJとかJVMのIDE使いでもKarabinerなしでバックスラッシュを片手入力したい
上記を参考に eventtapを使ってみる。

前準備

vimでインサートモードを抜ける時のあれ(Hammerspoon版)を参照

init.lua

init.lua
localVK_ESC=53localVK_LEFT_BRACKET=33localfunctionswitchToUs()localcmd='/usr/local/bin/keyboardSwitcher select U.S.'os.execute(cmd)-- hs.console.printStyledtext(cmd)endfunctionflagsMatches(flags,modifiers)localset={}for_,iinipairs(modifiers)doset[string.lower(i)]=trueendfor_,jinipairs({'fn','cmd','ctrl','alt','shift'})doifset[j]~=flags[j]thenreturnfalseendendreturntrueendkeyEventtap=hs.eventtap.new({hs.eventtap.event.types.keyDown},function(event)localkeyCode=event:getKeyCode()localflags=event:getFlags()-- hs.console.printStyledtext(keyCode)ifkeyCode==VK_ESCthenswitchToUs()endifkeyCode==VK_LEFT_BRACKETthenifflagsMatches(flags,{'ctrl'})thenswitchToUs()endendend)localfunctionhandleGlobalEvent(name,event,app)ifevent==hs.application.watcher.activatedthenlocalbundleId=string.lower(app.frontmostApplication():bundleID())ifbundleId=='com.apple.terminal'thenkeyEventtap:start()elsekeyEventtap:stop()endendendwatcher=hs.application.watcher.new(handleGlobalEvent)watcher:start()

結果

escにも対応できて概ね満足:smile:


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>