Skip to content

Instantly share code, notes, and snippets.

@partrita
Last active November 11, 2024 11:26
Show Gist options
  • Save partrita/d2a3a84b5435f462bdf2e48cde0e71b6 to your computer and use it in GitHub Desktop.
Save partrita/d2a3a84b5435f462bdf2e48cde0e71b6 to your computer and use it in GitHub Desktop.
MacOS 한글 키보드에서 Backtick 설정법

macOS에서 한글 입력 상태에서 백틱(`) 키를 누르면 원화(₩) 기호가 입력됩니다. 물론 옵션 키를 누르면 백틱을 입력할 수는 있지만 마크다운 문서 작성이나 개발 작업 시 불편함이 있습니다. 이 문제는 간단한 설정으로 해결할 수 있습니다.

해결법

  1. ~/Library 폴더로 이동합니다.
  2. KeyBindings 폴더를 새로 만듭니다.
  3. ~/Library/KeyBindings 폴더 내에 DefaultkeyBinding.dict 파일을 생성합니다.
  4. DefaultkeyBinding.dict 파일에 다음 코드를 추가합니다:
{ "" = ("insertText:", "`"); }
  1. 재부팅을 합니다.

이 설정을 적용하면 한글 입력 상태에서도 백틱() 키를 눌렀을 때 원화(₩) 기호 대신 백틱()이 입력됩니다.

쉘 스크립트

위의 작업을 수행하는 쉘 스크립트입니다. 이 스크립트는 macOS에서 실행되는 것을 가정합니다.

#!/bin/bash

# 1. ~/Library 폴더로 이동
cd ~/Library

# 2. KeyBindings 폴더 생성 (이미 존재하는 경우 무시)
mkdir -p KeyBindings

# 3. DefaultkeyBinding.dict 파일 생성
cat << EOF > KeyBindings/DefaultkeyBinding.dict
{
    "₩" = ("insertText:", "\`");
}
EOF

echo "KeyBindings 설정이 완료되었습니다."
echo "변경사항을 적용하려면 재부팅이 필요합니다."

# 5. 재부팅 확인
read -p "지금 재부팅하시겠습니까? (y/n): " choice
case "$choice" in 
  y|Y ) echo "시스템을 재부팅합니다..."; sudo shutdown -r now;;
  n|N ) echo "나중에 재부팅해주세요.";;
  * ) echo "잘못된 입력입니다. 나중에 수동으로 재부팅해주세요.";;
esac

이 스크립트를 사용하는 방법:

  1. 텍스트 편집기를 사용하여 이 스크립트를 새 파일에 복사합니다.
  2. 파일을 setup_keybindings.sh와 같은 이름으로 저장합니다.
  3. 터미널에서 다음 명령을 실행하여 스크립트에 실행 권한을 부여합니다:
    chmod +x setup_keybindings.sh
  4. 스크립트를 실행합니다:
    ./setup_keybindings.sh

이 스크립트는 요청하신 모든 단계를 수행하며, 마지막으로 사용자에게 재부팅 여부를 묻습니다. 재부팅은 변경사항을 적용하는 데 필요합니다.

주의: 이 스크립트는 관리자 권한(sudo)을 사용하여 재부팅을 수행합니다. 실행 전 스크립트의 내용을 잘 확인하시기 바랍니다.

#!/bin/bash
# 1. ~/Library 폴더로 이동
cd ~/Library
# 2. KeyBindings 폴더 생성 (이미 존재하는 경우 무시)
mkdir -p KeyBindings
# 3. DefaultkeyBinding.dict 파일 생성
cat << EOF > KeyBindings/DefaultkeyBinding.dict
{
"₩" = ("insertText:", "\`");
}
EOF
echo "KeyBindings 설정이 완료되었습니다."
echo "변경사항을 적용하려면 재부팅이 필요합니다."
# 5. 재부팅 확인
read -p "지금 재부팅하시겠습니까? (y/n): " choice
case "$choice" in
y|Y ) echo "시스템을 재부팅합니다..."; sudo shutdown -r now;;
n|N ) echo "나중에 재부팅해주세요.";;
* ) echo "잘못된 입력입니다. 나중에 수동으로 재부팅해주세요.";;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment