Espanso 설치 및 사용법 크로스 플랫폼 무료 텍스트 확장 프로그램

필자의 경우 반복적으로 사용되는 텍스트를 수시로 입력하는 것이 업무 효율을 저해하는 주요 요인중 하나라고 생각하며 이를 개선하려는 여러가지 시도를 장기간 해오고 있는편이며 관련 내용을 여러 차례 다루어 왔는데요.

예를들면, Windows 환경에서는 AutoHotkey를 이용하면 손쉽게 핫스트링을 구현하여 이를 해결할 수 있습니다. 다만, macOS로 작업 환경을 확장할 경우 동일한 방식으로 사용하는 것이 쉽지만은 않습니다려움이 발생합니다. Hammerspoon과 같은 도구는 핫스트링 전용 기능이 없어서 직접 구현해야 하기에 Lua 스크립트에 대한 이해도가 높아야 하며, Keyboard Maestro(링크 업데이트 예정)는 일회성이긴 하지만 유료 라이선스 비용이 발생한다는 제약이 있습니다.

이러한 배경에서 Espanso는 텍스트 기반의 YAML과 같은 선언적 설정을 통해 운영체제에 구애받지 않는 무료 자동화 환경을 제공합니다. 특히 단순한 문구 치환을 넘어 shell 명령어를 실행하거나 날짜 계산, 양식 채우기 등의 고차원적 기능을 시스템 전역에서 수행할 수 있다는 점이 특징입니다. 그래서 본 글을 통해 Espanso를 사용하기 위해 기본적인 설치 방식과 이를 통해 나만의 워크플로우를 구축하는 방법을 정리합니다.

  Espanso는 Windows, macOS 및 Linux 등 멀티 플랫폼에서 동일하게 구현할 수 있는 오픈소스 텍스트 확장 도구입니다. 무료로 제공되는 이 소프트웨어의 설치 방식부터 YAML 기반의 설정 관리, 셸 명령어를 활용한 시스템 자동화 및 URL 스니펫 적용 절차 등애 대해 알아봅니다.
본문은 아래 튜토리얼 환경에서 comeinsidebox.com에 의해 직접 작성되었으며, 다른 환경과 기타 외부 요인 등에 의해 설명과 다른 결과가 나타날 수 있으니 참고 자료로만 활용합니다.

튜토리얼 환경: 윈도우 11 Pro (빌드: 26200.8039), macOS Sonoma 14.2.1 (Apple Silicon)

Espanso는

Espanso는 Rust 언어로 작성된 크로스 플랫폼 텍스트 확장기(Text Expander)입니다. 사용자가 미리 정의한 키워드(Trigger)를 입력하면 이를 즉시 대상 텍스트나 실행 결과(Replace)로 변환합니다. 시스템 성능에 미치는 영향이 미미하며, GUI가 아닌 텍스트 설정 파일을 기반으로 작동하므로 버전 관리 시스템(Git)과의 연동이 매우 용이합니다.

Espanso는 개인 개발자 Federico Terzi에 의해 시작된 프로젝트로, 기존의 상용 텍스트 확장 프로그램들이 구독형 모델로 전환되거나 플랫폼 간 동기화가 불가능했던 문제를 해결하기 위해 등장했습니다. 개인 정보 보호를 최우선으로 하여 인터넷 연결 없이 로컬에서 작동하며, 전 세계 개발자들이 공유하는 '패키지' 시스템을 통해 이모지, 수학 기호, 코드 스니펫 등을 손쉽게 확장할 수 있는 생태계를 구축하고 있습니다.

오토핫키 핫스트링 사용 방법 단어 문장 치환 대치 한글 가능

Espanso 특징

Espanso는 단순한 텍스트 대치를 넘어 시스템 수준의 제어를 가능하게 합니다. YAML 기반의 파일 설정 방식은 숙련된 사용자에게 높은 자유도를 제공하며 모든 설정을 코드로 관리할 수 있게 합니다.

이는 단순한 상용구 실행기를 넘어, OS의 텍스트 입력 계층에서 동작하는 강력한 자동화 엔진으로, matchreplace라는 직관적인 구조를 통해 복잡한 로직을 설계할 수 있습니다. 모든 구성 요소가 텍스트 파일로 저장되므로 Git과 같은 버전 관리 시스템을 통해 설정의 이력을 추적하고 여러 기기 간에 완벽하게 동기화할 수 있습니다.

장점

오픈소스로 제공되어 상용 프로그램 대비 비용 부담이 없으며 Rust 언어로 작성되어 시스템 리소스 점유율이 매우 낮고 실행 속도가 빠릅니다.

  • 크로스 플랫폼의 일관성: Windows, macOS, Linux를 모두 지원하며 대부분의 설정 파일을 공유할 수 있습니다. 다만 운영체제별 입력 처리 방식 차이에 따라 일부 동작 차이는 존재합니다.
  • 직관적인 선언적 설정: YAML 형식을 사용하여 설정 로직이 명확하고 가독성이 높습니다. 복잡한 프로그래밍 지식 없이도 트리거와 치환 텍스트를 구조화할 수 있으며, 설정을 파일 단위로 분리하여 관리할 수 있습니다.
  • 강력한 확장성 (Shell & Script): 셸 명령어 연동을 통해 시스템 명령 실행 및 외부 API 호출이 가능합니다. curl 등을 활용해 데이터를 동적으로 가져오거나 스크립트 실행 결과를 입력값으로 활용할 수 있습니다.
  • 동적 입력 및 제어 기능: 트리거 입력 시 대소문자 형태를 자동 반영하는 기능과 특정 변수 마커를 통한 커서 위치 지정이 가능합니다. 또한 Form 기능을 통해 사용자 입력을 받아 동적으로 텍스트를 생성할 수 있습니다.
아이폰 텍스트 대치 사용법 iOS 자동완성 단축어 설정 방법

단점

별도의 GUI 설정 창이 없어 텍스트 에디터를 통한 직접 수정이 필수적입니다. 이는 마우스 조작에 익숙한 사용자에게는 불편함으로 다가올 수 있습니다.

  • 엄격한 문법 규격: YAML 문법 오류 발생 시 프로그램이 즉시 작동을 멈추거나 Configuration error 메시지를 출력하며 실행되지 않으므로 초기 진입 장벽이 존재합니다. 특히 들여쓰기(Indentation) 규칙에 매우 엄격하며, 특수 문자가 포함된 경우 따옴표 처리가 필수적이라는 점 등 세심한 주의가 필요합니다.
  • 모바일 생태계와의 단절: 모바일 운영체제인 iOS와 Android는 지원하지 않습니다. 데스크톱 환경에서는 강력한 성능을 발휘하지만, 모바일 기기와의 설정 동기화나 동일한 텍스트 확장 경험을 이어가는 것은 현재 공식적으로 지원되지 않습니다. 모바일에서는 iPhone의 텍스트 대치 또는 galaxy의 단축어 기능을 통해서 유사한 방식으로 사용할 수 있습니다.
  • 초기 학습 곡선: GUI 기반 도구와 달리 사용자가 직접 패키지를 설치하거나 스크립트 연동 방식을 익혀야 하므로, 자동화 도구에 익숙하지 않은 초보자에게는 이러한 일련의 과정이 다소 생소할 수 있습니다.

Espanso 설치

Espanso크로스플랫폼을 지원하여 대부분의 운영체제에서 사용이 가능합니다. 여기서는 WindowsmacOS 환경에서 패키지 관리 도구를 활용하거나 공식 웹사이트의 설치 파일 등을 활용한 설치 방식을 안내합니다.

아이폰 텍스트 대치 사용법 iOS 자동완성 단축어 설정 방법

패키지 관리 도구로 설치하기

WindowsmacOS 환경에서도 Linuxapt처럼 터미널을 통해 소프트웨어를 통합 관리할 수 있는 패키지 관리 도구가 널리 사용되며, 기본적인 사용 법은 다음과 같습니다. 패키지 관리 도구 더 알아보기

macOS 설치 방식 (Homebrew 사용)

macOS의 대표적인 패키지 관리 도구인 Homebrew(브류)는 터미널에서 명령어 하나로 앱을 관리할 수 있는 환경을 제공합니다. Espanso 역시 brew를 통해 간단히 설치할 수 있으며, 이는 공식 웹사이트에서 파일을 직접 받는 번거로움을 줄여줍니다. Homebrew 더 알아보기

참고: Homebrew를 사용하기 위해서는 우선 설치를 진행해야 합니다. Homebrew 홈페이지 또는 아래 명령으로 Homebrew를 macOS에 설치할 수 있습니다. 자세한 내용은 Homebrew 홈브류 설치하기 문서를 확인합니다.

Espanso는 최근 개발 언어를 Go에서 Rust로 전환하며 설치 방식을 간소화했습니다. 과거 구버전은 tap 명령어로 개발자 저장소를 수동 연결해야 했으나, 최신 버전은 Homebrew 공식 저장소에 정식 등재되어 단일 명령어로 즉시 설치가 가능합니다. 시스템 관리 효율을 높이고 업데이트 안정성을 보장하기 위해 아래 두 가지 명령을 모두 안내하지만 특별한 이유가 없다면 신버전 사용을 권장합니다.

현재 Rust 언어 기반의 표준 설치 방식입니다. Espanso가 Homebrew 공식 저장소에 정식 등록됨에 따라 별도의 저장소 추가 과정이 삭제되었습니다. 추가 절차 없이 단일 명령어로 설치가 완료됩니다.

brew install espanso

과거 Go 언어 기반의 구버전을 설치하거나, 해당 버전을 유지해야 할 때 사용하는 방식으로 개발자의 개인 저장소를 시스템에 수동으로 연결하는 과정이 포함됩니다.

이전 버전(0.7.3 이하)을 Homebrew tap으로 설치한 적이 있다면, 먼저 tap을 제거한 후 설치하세요.

brew untap espanso/espanso

또는

brew untap federico-terzi/espanso

 

이후 다시 아래 명령으로 설치를 진행하면 됩니다.

brew install espanso
brew로-espanso설치
brew로 espanso설치

본문에서는 처음 사용자를 대상으로 하고 있으니 이 경우 다음 명령으로 설치를 진행합니다. 설치가 완료 되면 위와 같이 espanso was successfutty installed!라고 출력 됩니다.

brew install espanso

Windows 설치 방식

Windows 환경에서도 여러 패키지 관리자가 존재하며, 각 도구의 특성에 따라 최적화된 방식으로 설치가 가능합니다. Microsoft 공식 도구인 Winget은 범용성이 높고, Chocolatey는 방대한 패키지를 보유하고 있습니다. 특히 Scoop은 시스템 전역을 건드리지 않고 사용자 폴더 내에 깔끔하게 설치를 진행하여 환경 오염을 방지하는 데 탁월합니다.

Windows 환경에서 기본 제공되는 패키지 관리자 Winget을 활용하면 별도의 설치 파일 다운로드 없이 간단하게 Espanso를 설치할 수 있습니다. Winget 더 알아보기

Winget-명령으로-설치
Winget 명령으로 설치

정확한 패키지 식별자를 기반으로 설치를 수행하며, -e 옵션을 통해 동일하거나 유사한 이름의 다른 패키지가 설치되는 것을 방지합니다. 설치 완료 후에는 시스템 환경 변수에 자동으로 등록되므로 별도의 경로 설정 없이 바로 사용할 수 있습니다.

winget install --id=Espanso.Espanso -e

Chocolatey는 Windows에서 널리 사용되는 패키지 관리 도구로, 다양한 오픈소스 및 유틸리티를 손쉽게 설치하고 관리할 수 있습니다. Espanso 역시 Chocolatey 저장소를 통해 설치할 수 있으며, 기존에 Choco 환경을 사용 중이라면 일관된 방식으로 관리가 가능합니다. Chocolatley 더 알아보기

choco install espanso

Scoop은 사용자 영역에 패키지를 설치하는 경량 패키지 관리자로, 시스템을 깔끔하게 유지하면서 개발 도구를 관리하고자 할 때 유용합니다. Espanso는 기본 저장소인 main 버킷을 통해 설치할 수 있으며, 별도의 관리자 권한 없이도 동작합니다. Scoop 더 알아보기

이 명령어를 통해 기본 패키지 저장소를 등록합니다. 일반적으로 scoop를 사용 중이라면 main 버킷은 대부분 이미 추가되어 있지만 처음 사용자를 위해 bucket add 명령도 추가합니다.

scoop bucket add main

 

다음 명령어를 통해 Espanso를 다운로드하고 설정할 수 있습니다. Scoop은 각 패키지를 독립적인 디렉토리에 설치하고 심볼릭 링크로 연결하는 구조이기 때문에, 버전 관리나 제거 시에도 시스템에 잔여 파일이 거의 남지 않는다는 장점이 있습니다.

scoop install main/espanso

실행 파일 직접 설치하

공식 웹사이트의 다운로드 페이지에서 설치 파일(.dmg 또는 .exe)을 내려받으면, 일반적인 소프트웨어 설치 절차에 따라 진행할 수도 있습니다.

espanso-공식-홈페이지-이동
espanso 공식 홈페이지 이동

구글, 네이버와 같이 본인이 자주 사용하는 검색엔진을 통해서 eapanso등으로 검색을 한 뒤 검색 결과 중 상단에 노출 중인 Espanso - A Privacy-first, Cross-platform Text Expander 링크를 찾아 클릭하면 해당 사이트로 접속 할 수 있습니다. 아래 바로가기를 이용하면 좀 더 빠르게 이동 할 수 있습니다.

바로가기: Espanso - A Privacy-first, Cross-platform Text Expander
Get-Started-on-Windows-버튼-클릭
Get Started on Windows 버튼 클릭

메인 페이지에서 Get Started on Windows 를 클릭합니다. 현재 운영체제를 기준으로 안내하고 있으니 바로 클릭합니다.

Download-the-Installer-버튼-클릭
Download the Installer 버튼 클릭

Install on Windows페이지로 이동하면 Download the Installer (x64) 또는 Download Portable zip (x64) 중 하나를 선택할 수 있습니다. 필자의 경우 포터블 방식을 선호하지 않아 본문에서는 Download the Installer (x64) 로 진행합니다. 위와 같이 별도의 다운로드 안내 창이 팝업되는 경우 열기 를 눌러 바로 실행합니다.

  • Download the Installer (x64): 윈도우 시스템에 정식 등록되어 업데이트와 자동 실행이 편리한 표준 설치 방식입니다.
  • Download Portable zip (x64): 별도의 설치 과정 없이 압축만 풀어 바로 사용하며, 시스템을 깔끔하게 유지할 수 있는 무설치 방식입니다.
설치-파일-열기
설치 파일 열기

바로 열기가 되지 않는 경우 다운로드 경로로 지정 된 폴더로 이동 하면 Espanso-Win-Installer-x86_64와 같은 형식의 파일을 찾을 수 있습니다. 이 파일을 마우스로 두 번 클릭하거나 컨텍스트의 열기 메뉴를 이용해 실행 합니다.

설치-마법사-시작-후-약관-동의-과정-진행
설치 마법사 시작 후 약관 동의 과정 진행

설치 마법사가 실행되면 License Agreement 단계에서 I accept the agreement 라디오 버튼을 선택하여 소프트웨어 사용 약관에 동의하고 Next 버튼으로 단계를 진행합니다.

Select-Destination-Location
Select Destination Location

Select Destination Location으로 이어지며 이곳에서 Browse... 를 누르거나 경로 필드에서 설치 경로를 수정 할 수 있습니다. 본문에서는 기본 경로 그대로 두고 Next 버튼으로 단계를 진행합니다.

Ready-to-Install
Ready to Install

Ready to Install 에서 이전 경로를 다시 확인 한 뒤 Install 버튼을 눌러 주면 설치가 진행 됩니다.

Installing-후-설치-완료
Installing 후 설치 완료

Installing 과정이 잠시 진행된 후 설치가 완료되면, Completing the Espanso Setup Wizard 단계에서 Finish 버튼을 눌러 설치를 종료합니다. 여기서 Launch Espanso 체크되어 바로 Espanso가 실행이 됩니다.

Welcome-to-Espanso
Welcome to Espanso

설치가 끝나고 프로그램이 실행되면 Welcome to Espanso! 화면이 나타납니다. 하단의 Start 버튼을 클릭하여 초기 설정을 시작합니다.

Launch-on-System-startup-등록
Launch on System startup 등록

Launch on System startup 단계에서는 윈도우 시작 시 프로그램 자동 실행 여부를 설정합니다. Yes, launch Espanso on system startup (recommended) 체크박스 를 확인한 뒤 Continue 버튼 을 클릭합니다.

Espanso-is-running
Espanso is running

모든 설정이 완료되면 Espanso is running! 화면이 나타납니다. 시스템 트레이 바에 아이콘이 활성화되었는지 확인하고, 하단의 Got it! 버튼을 눌러 마법사를 종료합니다. 패널 중간의 입력 필드에 :espanso를 타이핑하면 해당 텍스트가 자동으로 확장되는 기능을 즉시 테스트해 볼 수 있습니다. 확인 후 Got it! 버튼을 눌러 설정을 마칩니다.

참고: Windows 환경에서 설치 직후 시스템 트레이 아이콘이 나타나지 않거나 입력 후킹이 작동하지 않는 경우, 이는 User Account Control(UAC) 및 서비스 초기화 타이밍 문제일 가능성이 높습니다. 이 경우 Espanso를 완전히 종료한 후 시스템을 재시작하는 것이 가장 확실한 해결책입니다. 재시작 후에도 문제가 지속된다면 관리자 권한으로 실행하여 후킹 권한을 강제로 확보해 보시기 바랍니다.
시작-알림
시작 알림

설치가 모두 완료되면 윈도우 알림 센터에 Espanso is running! 메시지가 표시되며, 시스템 트레이 아이콘을 통해 프로그램이 정상적으로 실행 중임을 확인할 수 있습니다.

hammerspoon 해머스푼 맥용 오토핫키 단축키 자동화 AutoHot key한영전환

설정 파일 이동 및 열기

Espanso의 설정은 base.yml 파일을 중심으로 관리되며, 전체 설정 경로는 espanso path 명령어로 확인할 수 있습니다. Espanso v2부터는 설정 구조가 모듈화되어 운영체제와 관계없이 동일한 구조를 사용합니다.

운영체제설정 경로
macOS~/Library/Application Support/espanso
Windows%AppData%\espanso

위 경로로 이동 하면 설정 파일이 위치한 폴더로 이동할 수 있습니다.

espanso/
├── config/                 # 앱 동작 및 환경 설정
│   └── default.yml         # 단축키, 동작 방식 등 기본 설정
└── match/                  # 텍스트 확장 규칙 정의
    ├── base.yml            # 사용자 정의 스니펫 작성 파일
    └── packages/           # 외부 패키지 저장 폴더

기본 디렉토리 구조는 위와 같이 구성 되어 있으며 주요 파일들의 역할은 다음과 같습니다.

  • config/default.yml: Espanso의 동작 방식과 환경 설정을 제어합니다. 예를 들면 단축키 설정, 자동 대문자 처리, 알림 옵션 등을 지정할 수 있습니다.
  • match/base.yml: 사용자 텍스트 확장 규칙을 정의하는 핵심 파일입니다. triggerreplace 형태로 자동 완성 규칙을 작성합니다.
  • match/packages/: Espanso 패키지 저장소에서 설치한 외부 스니펫이 저장되는 위치입니다.
Open-config-folder-메뉴-클릭
Open config folder 메뉴 클릭

작업 표시줄 우측 하단에 위치한 트레이 아이콘을 마우스 오른쪽 버튼으로 클릭해 메뉴를 확장한 뒤, Open config folder를 누르면 설정 파일이 위치한 폴더로 빠르게 이동할 수 있습니다.

base-파일-메모장으로-열기
base 파일 메모장으로 열기

CONFIG 경로 내의 match/base.yml 파일을 VS Code나 Cursor 등 편집기로 엽니다. 본문에서는 메모장에서 편집을 이용해 메모장으로 열어보겠습니다.

기본-예시-설정-값
기본 예시 설정 값

해당 위치로 이동하면 Espanso v2의 표준 설정 파일인 base.yml의 초기 상태를 확인할 수 있습니다. 이곳에서 사용자는 트리거와 변환될 텍스트를 정의하여 자신만의 단축어를 구성할 수 있습니다. 파일을 저장하면 Espanso가 자동으로 변경 사항을 감지하여 재시작(Reload)합니다. 만약 자동으로 반영되지 않는다면 트레이 패널에서 Reload Config를 눌러 줍니다.

주의: 이 파일은 YAML 형식을 따르기 때문에 들여쓰기(띄어쓰기 2칸)가 매우 중요합니다. YAML 더 알아보기

기본 사용 법 안내

Espanso를 설치한 후 가장 먼저 접하게 되는 핵심은 스니펫(Snippet) 설정입니다. 특정 키워드인 trigger를 입력하면 미리 지정한 텍스트나 동작인 replace로 치환되는 구조를 이해하면 업무 효율을 극대화할 수 있습니다. URL 실행과 날짜 자동 입력 등 실무에서 즉시 활용 가능한 예제를 통해 구체적인 적용 방법을 확인해 보세요.

cron crontab 크론 사용 방법 옵션 예제 알아보기

실제 사용 영상

실제 사용 영상

아무런 설정을 하지 않더라도, 위와 같이 :espanso를 입력하면 Hi There!라고 치환됩니다. 이는 Espanso 설치 시 기본으로 포함되는 예제 스니펫이며, 이를 응용하여 자신만의 복잡한 텍스트 템플릿을 구축해 나갈 수 있습니다.

기본 스니펫

스니펫은 triggerreplace 한 쌍으로 구성됩니다. 트리거로 지정한 키워드를 입력하면 replace에 작성한 텍스트로 즉시 치환됩니다.

- trigger: ";hi"
  replace: "안녕하세요!"

위 형태가 가장 기본이며, 단일 텍스트로 치환되는 예시입니다.

- trigger: ";addr"
  replace: |
    서울특별시 강남구
    테헤란로 123
    우편번호: 06234

여러 줄 텍스트를 입력해야 하는 경우 replace 값에 | 기호를 사용하면 작성한 그대로 줄바꿈 포맷이 유지됩니다.

hammerspoon 해머스푼 맥용 오토핫키 단축키 자동화 AutoHot key한영전환

URL 실행 스니펫 적용

특정 키워드 입력 시 브라우저를 통해 특정 사이트로 즉시 이동하는 방법입니다. 이는 단순한 텍스트 치환을 넘어 시스템의 쉘(Shell) 명령어를 활용하여 워크플로우를 단축하는 고도화된 방식입니다.

matches:
 - trigger: ";gh"
   replace: "{{output}}"
   vars:
	 - name: output
	   type: shell
	   params:
		 cmd: "open https://github.com" 
		 # Windows의 경우: cmd: "start https://github.com"

base.yml 파일의 matches 섹션에 위 내용을 추가합니다. 이후 ;gh를 입력하면 macOS에서는 open 명령이 실행되며 기본 브라우저가 호출되어 GitHub 메인 페이지로 즉시 연결됩니다.

만약 Windows 사용자라면 cmd 항목의 내용을 start https://github.com으로 변경하여 동일한 효과를 얻을 수 있습니다. 이는 자주 방문하는 관리 페이지나 대시보드 접근 시간을 획기적으로 줄여줍니다.

날짜 및 시간 자동 입력

현재 날짜를 특정 형식으로 입력하고 싶을 때 사용합니다. 매번 달력을 확인하거나 수동으로 형식을 맞출 필요 없이, 시스템의 실시간 데이터를 불러와 정확한 포맷으로 치환합니다.

- trigger: ":date"
 replace: "{{mydate}}"
 vars:
   - name: mydate
	 type: date
	 params:
	   format: "%Y-%m-%d"

위 코드를 설정 파일에 추가하고 메모장이나 브라우저 주소창에 :date를 입력하면 자동으로 작성 일 기준 날짜인 2026-04-09 형식으로 치환됩니다. format 옵션을 수정하여 시간 정보를 포함하거나 한국식 날짜 표기법으로 자유롭게 변경할 수 있어 보고서 작성이나 일지 관리 시 매우 유용합니다.

아이폰 텍스트 대치 사용법 iOS 자동완성 단축어 설정 방법

커서 위치 지정

텍스트 치환 후 커서가 자동으로 원하는 위치에 배치되어 추가 입력이 바로 가능하도록 하는 기능입니다.

- trigger: ";href"
  replace: "<a href='$|$'></a>"

위와 같이 $|$ 변수를 사용하면 괄호 안이나 따옴표 사이처럼 사용자가 직접 채워 넣어야 할 부분에 커서를 미리 배치하여 작업 흐름이 끊기지 않게 도와줍니다.

참고: 기존 v1 버전에서는 {{cursor}}변수가  사용되었지만, 현재는 해당 방식으로 변경되었습니다.

설정 파일 구성

기본적인 설치와 스니펫 설정을 마치셨다면, 이제 시스템 환경에 맞춰 Espanso의 성능을 극대화할 차례입니다. 몇 줄의 코드 추가만으로도 입력 속도를 비약적으로 높이고, 한글 입력기와의 충돌을 방지하는 최적의 작업 환경을 구축할 수 있습니다.

Espanso는 기본적으로 타이핑하듯 한 글자씩 입력하는 방식으로 동작하며, 텍스트가 100자 이상이면 자동으로 클립보드 방식으로 전환되는데요. 만약 이런 기본 세팅이 불편한 경우, config/default.yml에 다음 설정을 추가하면 모든 치환 동작을 클립보드 붙여넣기 방식으로 통일할 수 있고 빠르게 붙여넣기로 치환 됩니다.

backend: clipboard

한글 IME 환경에서 입력 오류가 발생하거나 수백 줄의 코드 스니펫, 긴 이메일 템플릿을 사용할 때 이 설정을 해 두는 것이 좋습니다.

- trigger: ";addr"
  replace: "서울특별시 강남구 테헤란로 123"
  force_clipboard: true

만약 특정 항목에만 개별 적으로 추가하고 싶다면 match/base.yml 개별 항목에 force_clipboard: true라고 지정할 수 있습니다.

auto_restart: true
toggle_key: OFF

또한 config/default.yml 파일에 auto_restart 옵션을 지정하면 이후 파일 저장 시 즉시 설정을 갱신2되며, toggle_keyOFF로 두면 Espanso 자체 검색창 단축키가 다른 런처 프로그램과 겹치는 문제를 깔끔하게 해결해 줍니다.

- trigger: "tst"
  replace: "test"
  propagate_case: true

위와 같이 match/base.yml 내 개별 매치 항목에 propagate_case: true를 설정하면, 하나의 스니펫 정의만으로도 문장의 시작(대문자)이나 강조(전체 대문자) 상황에 맞게 텍스트가 자연스럽게 치환됩니다. 한글 위조로 작성되는 경우는 무의미 하며, 영문 텍스트 치환을 자주하는 경우 사용하는 것을 권장합니다.

참고: Espanso 사용법 등 보다 자세한 내용 공식 문서에서 확인 할 수 있습니다.
hammerspoon 해머스푼 맥용 오토핫키 단축키 자동화 AutoHot key한영전환

사용간 주의사항

Espanso 사용 시 macOS 권한 관리, YAML 문법 정확성, 민감 정보 보호, Windows 재시작, 절대 경로 사용, 한글 입력 상태 확인, 로그 점검을 츠케 하면 보다 더 안정적으로 사용할 수 있습니다.

  • 권한 문제: macOS 업데이트 후 간혹 EspansoAccessibility 권한이 해제되어 정상 작동하지 않는 경우가 있습니다. 이는 macOS의 보안 정책이 업데이트 과정에서 기존 권한을 초기화하기 때문이며, 특히 Ventura 이후 버전에서 자주 발생합니다. 이때는 시스템 설정개인정보 보호 및 보안접근성에서 Espanso 항목을 완전히 제거한 후 다시 추가하고, 터미널에서 espanso restart 명령어를 실행하여 데몬을 재시작해야 합니다. 권한 재설정 후에도 문제가 지속되면 macOS 전체를 재부팅하는 것을 권장합니다.
  • 데이터 손실 가능성: YAML 파일 작성 시 인덴트(들여쓰기) 오류나 문법 오류가 발생하면 Espanso 서비스 전체가 중단되거나 해당 match가 무시되는 현상이 발생합니다. YAML은 공백 하나로도 파싱이 실패할 수 있으므로, 중요한 설정 변경 전에는 반드시 ~/.config/espanso 전체 디렉토리를 백업(cp -r ~/.config/espanso ~/.config/espanso_backup)하고, 변경 후 espanso check 명령어로 문법을 검증한 뒤 espanso restart로 적용하는 절차를 반드시 따르십시오. 또한 Git을 통한 버전 관리를 병행하면 이전 상태로 빠르게 복구할 수 있습니다.
  • 외부 노출 리스크: 비밀번호나 API 키와 같은 민감 정보를 replace 문구에 직접 작성하여 public Git 저장소에 업로드하지 않도록 주의하십시오. 설정 파일이 Dropbox, iCloud, Git 등 클라우드에 동기화될 경우 의도치 않게 유출될 위험이 크므로, 환경 변수나 Bitwarden Secrets Manager 등을 활용해 값을 동적으로 불러오는 방식을 강력히 권장합니다. matches 섹션에 민감 데이터를 하드코딩하는 것은 절대 피해야 합니다.
  • 설정 파일 오류 확인: 설정 파일에 오류가 발생했을 때 터미널을 열고 프롬프트에 espanso log 명령어를 입력하면 실시간 로그 확인이 가능하며 이를 통해 어느 줄에서 구문 오류가 발생했는지 정확히 파악할 수 있습니다. 로그를 확인하면서 espanso check를 병행 사용하면 문제 해결이 더욱 신속해집니다.

FAQ

AutoHotkey 스크립트를 그대로 가져와서 사용할 수 있나요.

AutoHotkey는 절차적 스크립트 언어인 반면 Espanso는 YAML 선언형 구조를 사용하므로 문법 체계가 완전히 달라 직접 복사 사용은 불가능합니다.

하지만 AHK::/trigger::Run, url과 같은 단순 치환 및 실행 로직은 Espansotriggershell command 구조로 일대일 매칭하여 재작성하는 것이 매우 간단합니다. 특히 외부 스크립트 호출이 잦은 사용자라면 YAML 형식을 통해 시각적으로 훨씬 깔끔하게 매크로를 관리할 수 있다는 장점이 있습니다.

특정 앱에서는 Espanso가 작동하지 않게 할 수 있나요.

네 가능합니다. 설정 파일의 matches 섹션에서 filter_title 또는 filter_class 옵션을 사용하여 특정 애플리케이션을 제외(Exclude) 하거나 포함(Include) 하도록 세밀하게 제어할 수 있습니다.

예를 들어 단축키 충돌이 잦은 게임이나 특정 그래픽 툴에서는 기능을 비활성화하고, VS CodeTerminal에서만 특정 매크로가 작동하도록 구성함으로써 시스템 리소스 소모를 줄이고 간섭을 최소화할 수 있습니다.

특정 앱 제외하기(Exclude): 게임이나 그래픽 툴처럼 Espanso와 단축키가 충돌하는 경우 사용합니다. filter_title은 창의 제목을, filter_class는 프로그램의 클래스(이름)를 기준으로 삼습니다.

- trigger: ":hi"
  replace: "Hello!"
  filters:
    - class: "Photoshop"
      exclude: true
    - title: ".Game."
      exclude: true

 

특정 앱에서만 활성화하기(Include): 특정 개발 도구나 터미널에서만 작동해야 하는 전문적인 매크로를 구성할 때 유용합니다

- trigger: ":gitp"
  replace: "git push origin main"
  filters:
    - class: "iTerm2"

 

클래스 및 타이틀 확인법: 현재 실행 중인 앱의 정확한 filter_classfilter_title을 알기 위해서는 터미널에서 다음 명령어를 입력합니다.

espanso debug

클라우드를 통한 동기화가 가능한가요.

Espanso 자체적으로 운영하는 클라우드 서버는 존재하지 않지만 설정 파일이 저장되는 경로를 Dropbox, iCloud Drive 와 같은 클라우드 스토리지 또는 Git 저장소 내에 위치시킨 뒤 심볼릭 링크를 생성하여 연결하면 여러 기기 간에 설정을 자동으로 공유할 수 있습니다. 공식 페이지에서도 심볼릭 링크 방식을 권장하고 있습니다.

대소문자를 구분하나요.

기본적으로 입력된 대소문자를 엄격하게 구분하여 치환하지는 않지만 설정 파일 내에 propagate_case: true 옵션을 부여하면 입력한 대소문자 형태를 유지하도록 구성할 수 있습니다.

예를 들어 gui를 입력하면 GUI로, Gui를 입력하면 Gui로 출력되도록 지능적인 매칭을 지원합니다. 더욱 정교한 제어가 필요한 경우에는 case_sensitive 속성을 사용하여 특정 트리거에 대해서만 대소문자를 명확히 구별하도록 설정할 수 있습니다.

Shell 기능 사용시 명령어 실행 에러가 발생는데 어떻게 하나요.

shell 기능을 사용할 때 명령어를 찾지 못하는 에러는 대부분 PATH 환경 변수 설정 문제입니다. 특히 macOSLinux에서 상대 경로를 사용하면 실행에 실패할 수 있으므로, /usr/bin/open이나 /usr/local/bin/git과 같이 절대 경로를 반드시 명시해야 합니다.

터미널에서 which 명령어이름을 입력하여 실제 경로를 확인한 후 설정 파일에 적용하는 습관을 들이는 것이 좋습니다.

한글 입력 상태에서 트리거가 오작동하는 경우는 어떻게 하나요.

일부 환경에서 한글 입력기(IME)의 조합 중에는 Espanso의 입력 후킹과 충돌이 발생할 수 있습니다. 이 경우 가장 안정적인 해결책은 영어 입력 상태로 전환한 후 트리거를 입력하는 것입니다.

만약 잦은 전환이 번거롭다면 설정 파일에 force_mode: "ascii" 옵션을 추가하여 입력기와의 간섭을 최소화하고 호환성을 높일 수 있습니다.

Scoop 사용법 Windows 환경 최적화를 위한 패키지 관리자

마무리

Espanso는 macOS 환경에서 AutoHotkey의 핵심인 '핫스트링' 기능을 효과적으로 보완해 주는 강력한 도구입니다. 비록 시스템 전반을 제어하는 AutoHotkey의 방대한 기능을 단독으로 모두 대체하기엔 한계가 있지만, Hammerspoon과 함께 사용하면 그 시너지는 극대화됩니다.

대부분의 시스템 제어와 창 관리는 Hammerspoon으로 대응하고, 실시간 입력 감시가 필요한 핫스트링 작업은 Espanso에 맡김으로써 macOS에서도 윈도우 못지않은 자동화 환경을 구축할 수 있습니다. 특히 단순 텍스트 치환을 넘어 셸 스크립트 트리거를 활용할 수 있다는 점은 고급 사용자에게 무궁무진한 확장성을 제공합니다.

초기 YAML 설정 방식이 낯설 수 있으나, 한 번 구축해 두면 운영체제를 넘나드는 일관된 생산성 환경을 누릴 수 있습니다. 최근 인공지능 도구들과 연동하여 자주 사용하는 프롬프트를 스니펫화하는 등 기술적 트렌드와 결합한다면, 더욱 정교하고 강력한 업무 자동화 시스템을 완성할 수 있을 것입니다.

관련 글

댓글로 남기기 어려운 내용은 Mail로 문의 하실 수 있습니다. 해당 글과 연관 된 내용은 여기를 클릭하거나 터치해 현재 페이지의 주소를 복사 후 함께 전달하시면 보다 정확한 답을 얻을 수 있습니다.

댓글 남기기