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 很简单的啊..... 输入: 输出; 输入; 输出: ....
![]( http://oduizitoj.bkt.clouddn.com/2017-01-16-Screen%20Shot%202017-01-16%20at%2014.19.44.png) |
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 1
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"); } ``` |