macOS emacs에서 command+space 키를 evil 수정 모드 리더 키로 사용하기

1 minute read

doom emacs를 사용하면서 리더 키(leader key)를 적극적으로 사용하고 있다. 써보니 편하다. 거칠게 요약하면 키바인딩의 prefix다. 리더인 SPC 키를 누르면 이후 단축키가 도움말로 뜬다. 다르게 말하면 단축키의 시작이다. normal mode에서 SPC 키를 누르면 doom emacs에서 바인딩한 키를 사용할 수 있다. insert mode일 때는 M-SPC 키를 누르면 똑같이 사용할 수 있다. M-SPC 키를 macOS가 처리해서 문제가 생겼다.

(setq mac-command-modifier 'meta)
(setq mac-option-modifier 'super)

이렇게 세팅해서 문제가 됐다. windows와 키 배열을 비슷하게 하려고 command 키를 windows alt 키에 해당하는 meta 키로 바인딩해서 사용하고 있다. emacs에서만 바인딩을 고쳤기 때문에 command+space 키를 누르면 스포트라이트(spotlight)가 열린다.

{
    "conditions":[
        {
        "type":"frontmost_application_if",
        "bundle_identifiers":[
            "^org\\.gnu\\.Emacs"
        ]}
    ],
    "type":"basic",
    "from":{
        "key_code":"tab",
        "modifiers":{
            "mandatory":[
                "left_option"
            ]}
    },
    "to":[
        {
        "key_code":"tab",
        "modifiers":[
            "right_command"
        ]}
    ]
},
{
    "conditions":[
        {
        "type":"frontmost_application_if",
        "bundle_identifiers":[
            "^org\\.gnu\\.Emacs"
        ]
    }],
    "type":"basic",
    "from":{
        "key_code":"left_command",
        "modifiers":{
            "optional":[
                "any"
            ]
        }
    },
    "to":[
        {
        "key_code":"left_option"
    }]
},
{
    "conditions":[
        {
        "type":"frontmost_application_if",
        "bundle_identifiers":[
            "^org\\.gnu\\.Emacs"
        ]
    }],
    "type":"basic",
    "from":{
        "key_code":"left_option",
        "modifiers":{
            "optional":[
                "any"
            ]
        }
    },
    "to":[
        {
        "key_code":"left_command"
    }]
}

emacs에서 command 키를 meta 로 사용하고 싶다. 이럴 땐 Karabiner-Elements 설정 파일을 연다. emacs에서만 left command 키와 left option 키를 바꾸게 했다. 그냥 바꾸면 command+tab 키를 사용할 수 없어서 이 키조합은 예외로 했다. super 키는 잘 안 쓰니 이건 나중에 필요할 때 하려고 미뤘다.

C-x C-s C-x C-c