본문 바로가기

개발노트/MAC

Mac 에서 cmd + y 로 Redo 하기 (karabiner-element)

윈도우에서 control + y 로 redo 하는 것이 습관이 되서 그런가, 맥에서 cmd + shift + z 를 눌러서 redo 를 하는게 이 글을 쓰게 할 정도로 너무나 귀찮았다.

Rubymine 이나 일부 프로그램에서는 자체적으로 새로 key binding 을 해서 cmd + shift + z 와 cmd + y 모두 redo 로 동작하도록 되어있긴 하지만, 슬랙이나 기타 다른 OSX native app 들에서 redo 를 하려면 cmd + shift + z 를 눌러야만 했다. 너무나 귀찮은 것.

계속 귀찮음을 느끼다가 도저히 안 되겠어서, Capslock 을 왼쪽 클릭으로 바인딩해서 쓰는데 사용하고 있는 karabiner-element 를 이용해  내 맥북의 osx 전역에서 cmd + y 로 redo 를 할 수 있도록 찾아보았다.

막상, 복합 키 입력을 karabiner-elements GUI 에서 추가하는게 남이 만들어놓은 것을 인터넷에서 찾아서 import 하는 것 외에는 관련 정보를 찾기가 어려웠다. 이런 github issue 정도 찾을 수 있었다.

그래도 친절한 매뉴얼을 찾을 수 있었고, ~/.config/karabiner.config/karabiner/assets/complex_modifications 에다가 아래의 내용을 가지는 redo.json 파일을 만들고 karabiner-elements GUI 에서 Enable 시켜주었다. 만세!

{
  "title": "redo cmd+y",
  "rules": [
    {
      "description": "redo 'cmd + y' globally",
      "manipulators": [
        {
          "from": {
            "key_code": "y",
            "modifiers": {
              "mandatory": ["command"]
            }
          },
          "to": [
            {
              "key_code": "z",
              "modifiers": ["command", "shift"]
            }
          ],
          "type": "basic"
        }
      ]
    }
  ]
}