처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.05.24 22
#AI

i3 윈도우 매니저와 Emacs를 한 몸처럼 쓰는 법

Hacker News 원문 보기

두 세계가 만나면 생기는 마찰

리눅스 데스크톱을 쓰는 개발자라면 i3Emacs라는 이름이 낯설지 않으실 거예요. i3는 화면을 격자처럼 자동으로 쪼개주는 "타일링 윈도우 매니저"인데, 마우스 없이 키보드만으로 창을 빠르게 배치할 수 있어서 효율을 중시하는 개발자들이 좋아해요. Emacs는 단순한 텍스트 에디터를 넘어, 그 안에서 메일도 보내고 파일 관리도 하고 심지어 게임까지 돌릴 수 있는 "하나의 작은 운영체제 같은" 도구예요.

그런데 이 둘을 같이 쓰면 묘한 충돌이 생겨요. Emacs 안에는 자체적인 창 분할 시스템(window/frame)이 있고, i3에는 시스템 전체의 창 분할 시스템이 있어요. 그래서 키 단축키가 겹치거나, "오른쪽 창으로 이동"이라는 똑같은 동작을 두 군데에서 따로 설정해야 하는 번거로움이 있죠. khz.ac라는 블로그의 글쓴이는 이 둘을 자연스럽게 통합하는 자기만의 방법을 공개했어요.

핵심 아이디어: 하나의 단축키, 두 가지 행동

글쓴이의 접근은 단순하지만 영리해요. 단축키 하나가, 상황에 따라 i3로 가기도 하고 Emacs로 가기도 하도록 만든 거예요. 예를 들어 Mod+l(오른쪽 이동)을 눌렀을 때, 현재 포커스가 Emacs 창에 있고 그 안에 분할된 또 다른 Emacs 창이 오른쪽에 있다면 Emacs 내부에서 그쪽으로 이동해요. 만약 Emacs 내부에 더 이동할 곳이 없다면, 그 동작이 i3로 넘어가서 시스템 차원의 오른쪽 창으로 포커스를 옮겨요.

이걸 구현하기 위해 글쓴이는 i3 설정 파일에서 bindsym으로 단축키를 잡고, 해당 키가 눌렸을 때 emacsclient -e를 통해 Emacs에 lisp 코드를 보내요. 이 코드는 "현재 Emacs에서 오른쪽으로 이동할 수 있나?"를 검사한 뒤, 가능하면 이동하고 결과를 반환하고, 불가능하면 "실패"를 알려요. 그 결과를 받아서 i3가 "아, Emacs 내부에서 처리 못 했구나" 하고 자기 차원에서 옆 창으로 이동해주는 식이에요. Emacs에 먼저 물어보고, 안 되면 i3가 처리한다는 위계가 핵심이에요.

비슷한 원리로 창 분할, 창 닫기, 창 크기 조절 같은 동작도 모두 통합돼요. 사용자 입장에서는 "내가 지금 Emacs 안에 있는지 밖에 있는지"를 신경 쓸 필요가 없어요. 그냥 같은 키를 누르면, 시스템이 알아서 가장 자연스러운 동작을 골라 실행해줘요.

EXWM, Hyprland, 그리고 다른 통합 시도들

이런 통합 아이디어 자체는 처음은 아니에요. EXWM(Emacs X Window Manager) 이라는 프로젝트는 아예 Emacs 자체를 윈도우 매니저로 만들어버려요. 모든 X 윈도우 애플리케이션을 Emacs의 버퍼처럼 다루는 거죠. 멋지긴 한데, 호환성 이슈나 안정성 문제로 모두에게 권할 만한 솔루션은 아니에요. 반면 이 블로그의 접근은 "i3와 Emacs를 각자 자기 영역에서 그대로 두되, 키 입력 차원에서만 매끄럽게 잇는다"는 점에서 훨씬 가벼워요.

비슷한 흐름에서 HyprlandSway 같은 새로운 Wayland 기반 타일링 매니저들도 외부 도구와의 IPC(프로세스 간 통신)를 강화하고 있어요. 또 Vim 사용자들 사이에서도 tmux와 Vim을 묶어주는 vim-tmux-navigator 플러그인이 비슷한 원리로 동작해요. "내부 창 이동"과 "외부 창 이동"을 같은 키로 통합한다는 발상은 이미 검증된 패턴인 셈이에요. 다만 i3-Emacs 조합에 대해서는 잘 알려진 표준이 없었기 때문에, 이번 글이 그 빈자리를 채워준다고 볼 수 있어요.

한국 개발자에게 주는 시사점

이 글에서 가장 배울 만한 점은 구체적인 코드보다 "환경을 내 손에 맞게 조립하는 사고방식" 이에요. 우리는 보통 IDE나 OS가 주는 기본값을 그대로 쓰는데, 매일 쓰는 도구의 키 흐름을 자기 손가락에 맞춰 다듬으면 누적 효과가 어마어마하거든요. 하루에 창 전환을 100번 한다고 치면, 한 번의 마찰을 0.5초 줄여도 한 달이면 수십 분이에요.

맥OS 사용자라면 같은 원리를 yabai(타일링 매니저)와 skhd(단축키 도구), 그리고 자기가 쓰는 에디터(VS Code, IntelliJ 등)와 결합해 만들 수 있어요. 윈도우라면 PowerToys의 FancyZones와 AutoHotkey 조합이 비슷한 역할을 해줘요. 핵심은 "에디터 안의 동작"과 "OS 차원의 동작"을 같은 키로 매끄럽게 잇는 거예요. 한국 회사에서는 모니터 두 대 이상을 쓰는 경우가 많은데, 이런 통합 단축키를 잘 설정해두면 작업 흐름이 정말 매끄러워져요.

또 한 가지, 이런 자작 워크플로는 자기 .dotfiles로 정리해두면 새 컴퓨터로 옮길 때 정말 편해요. 회사에서 노트북을 바꾸거나 집에서도 같은 환경을 쓰고 싶을 때, 깃 저장소에서 받아서 설치 스크립트 한 번 돌리면 끝나거든요. 이번 글의 코드도 좋은 출발점이 될 수 있어요.

마무리

작은 통합 하나가 매일의 작업 흐름을 얼마나 부드럽게 만들어주는지 잘 보여주는 사례예요. 여러분이 가장 자주 쓰는 두 도구는 무엇이고, 그 사이에서 어떤 마찰을 느끼고 계신가요? 그 지점이 바로 자기만의 워크플로를 만드는 출발점이 될 거예요.


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

AI 도구, 직접 활용해보세요

AI 시대, 코딩으로 수익을 만드는 방법을 배울 수 있습니다.

AI 활용 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.