
1 fds 2017-01-16 14:02:53 +08:00 我觉得用 hammerspoon 应该可以,思路是: hs.hotkey.bind 注册分号和冒号为热键,在接到按下分号或冒号时 :disable() 关闭热键,然后 hs.eventtap.keyStroke 发送冒号或分号,抬起按键后重新 :enable() 热键。 |
2 xx0219 2017-01-16 14:20:13 +08:00 好像.... 用 keyboard maestro 很简单的啊..... 输入: 输出; 输入; 输出: ....  |
3 JamesPan 2017-01-16 14:20:59 +08:00 楼主能分享一下什么场景下分号冒号互换能提高编程效率吗? |
4 mind3x 2017-01-16 14:46:52 +08:00 @JamesPan 大概是比如 Scala, golang 这些 statement 不需要分号,而显式类型声明(Scala)或赋值声明(Go)又要用到分号的 |
5 jiyinyiyong OP @JamesPan 习惯吧, 我在 Javascript, CoffeeScript, Clojure 当中都会用到大量的分好, 用了一年多已经形成肌肉记忆了. 也就 Javascript 里分号贼多. |
6 jiyinyiyong OP |
7 hronro 2017-01-16 15:02:21 +08:00 via Android @jiyinyiyong standard js 不写分号 |
8 QAPTEAWH 2017-01-16 15:18:13 +08:00 http://xahlee.info/kbd/osx_keybinding.html 摘抄关键部分&修改: Create a file at ~/Library/KeyBindings/DefaultKeyBinding.dict, and put the following content. { ";" = ("insertText:", "\U003A"); ":" = ("insertText:", "\U003B"); } 重新登录 / 重新打开程序。 |
9 jiyinyiyong OP @QAPTEAWH 真是无比简单粗暴的解决方案. 顺便问下为啥我配置 "\\" 的时候会出错了, 试了一会才搞定, 转义有点奇特. ``` =>> cat DefaultKeyBinding.dict { ";" = ("insertText:", "\U003A"); ":" = ("insertText:", "\U003B"); "\\\\" = ("insertText:", "\U007C"); "|" = ("insertText:", "\U005C"); } ``` |