Emacs NS build + Google IME로 스트레스없이 IME 전환
Emacs NS build와 Google IME를 함께 사용하면 IME가 올바르게 전환되지 않을 수 있습니다. 다음은이 문제를 해결하는 한 가지 방법입니다.
Google IME에 의한 전환 계통을 Emacs.app만 분리
- Emacs.app는 내부 API를 직접 호출하여 Google IME를 전환합니다.
- 다른 앱은 평소와 같이 사용
다음은
Cmd-Space
또는 Shift-Space
를 IME 전환의 키로 사용하는 경우입니다.예상되는 환경
필요한 애플리케이션
htps : // 기주 b. 코 m / 타카 xp / n s-in-ne-pa tch (27.1 이상 Apple Silicon 용도 있음)
macOS의 IME 전환을 Ctrl-`에 할당
macOS 환경 설정으로 변경합니다.
Ctrl-`에 Cmd-Space 및 Shift-Space 할당
Karabiner-Elements로 설정합니다.
~/.config/karabiner/assets/complex_modifications/toggle-ime-except-emacs.json으로 배치 한 후 Karabiner-Elements.app를 시작하여 확인하십시오.
이렇게하면 Ctrl-`, Cmd-Space 및 Shift-Space의 세 가지 방법으로 IME를 전환 할 수 있습니다. 그러나 Emacs.app를 사용하는 동안 Emacs.app 내부의 기능을 사용하여 IME를 전환하기 위해 Cmd-Space와 Shift-Space를 OS에 전달하지 않습니다.
toggle-ime-except-emacs.json
{
"title": "Toggle IME (except Emacs.app)",
"rules": [
{
"description": "Toggle IME by Shift-Space (left side)",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "spacebar",
"modifiers": {
"mandatory": [
"left_shift"
]
}
},
"to": [
{
"key_code": "grave_accent_and_tilde",
"modifiers": [
"left_control"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"Emacs"
]
}
]
}
]
},
{
"description": "Toggle IME by Shift-Space (right side)",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "spacebar",
"modifiers": {
"mandatory": [
"right_shift"
]
}
},
"to": [
{
"key_code": "grave_accent_and_tilde",
"modifiers": [
"left_control"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"Emacs"
]
}
]
}
]
},
{
"description": "Toggle IME by Cmd-Space (left side)",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "spacebar",
"modifiers": {
"mandatory": [
"left_command"
]
}
},
"to": [
{
"key_code": "grave_accent_and_tilde",
"modifiers": [
"left_control"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"Emacs"
]
}
]
}
]
},
{
"description": "Toggle IME by Cmd-Space (right side)",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "spacebar",
"modifiers": {
"mandatory": [
"right_command"
]
}
},
"to": [
{
"key_code": "grave_accent_and_tilde",
"modifiers": [
"left_control"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"Emacs"
]
}
]
}
]
}
]
}
ns-inline-patch에서 Google IME 사용
init.el
;; Google IME を指定(locale=en や自動検出がコケる場合には必須)
(custom-set-variables
'(mac-default-input-source "com.google.inputmethod.Japanese.base"))
;; インラインパッチの有効化
(mac-input-method-mode 1)
Emacs.app에서 Google IME 전환을 Cmd-Space 및 Shift-Space에 할당
init.el
(global-set-key (kbd "M-SPC") 'mac-ime-toggle)
(global-set-key (kbd "S-SPC") 'mac-ime-toggle)
(define-key isearch-mode-map (kbd "M-SPC") 'mac-ime-toggle)
(define-key isearch-mode-map (kbd "S-SPC") 'mac-ime-toggle)
Google IME 설정에서 Shift-Space 투명
Shift-Space가 Emacs.app에 투명하지 않은 경우가 있습니다.
Googke IME Keymap Style > Google IME input keymap editor 에서 Shift Space가 Key로 되어 있는 명령을 삭제(Porcomposition, Composition, Conversion)하면 원하는 조작
이 설정은 내보내고 텍스트로 저장할 수 있습니다. 새로운 환경에서는 그것을 가져올 수 있습니다.
보조 함수
후크
커서의 색을 바꾸는 등의 커스텀 함수를 hook에 매달리면 편리합니다.
Reference
이 문제에 관하여(Emacs NS build + Google IME로 스트레스없이 IME 전환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takaxp/items/6a7f9b26eb1b1a8237a0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)