# IDEmacs: Emacs를 Visual Studio Code처럼 사용하는 구성 세트

> Clean Markdown view of GeekNews topic #24413. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=24413](https://news.hada.io/topic?id=24413)
- GeekNews Markdown: [https://news.hada.io/topic/24413.md](https://news.hada.io/topic/24413.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-11-17T09:58:48+09:00
- Updated: 2025-11-17T09:58:48+09:00
- Original source: [codeberg.org](https://codeberg.org/IDEmacs/IDEmacs)
- Points: 1
- Comments: 1

## Topic Body

- **Emacs 환경을 주류 IDE처럼 구성**해 초보자도 바로 사용할 수 있도록 만든 설정 모음  
- **VSCode 테마, 탐색기, 탭, 다중 커서, 자동 완성** 등 주요 기능을 Emacs에서 재현  
- **GUI와 마우스 조작**을 기본 지원하며, `custom` 인터페이스로 설정 가능  
- **Lisp(Sly/Geiser) 개발자와 비프로그래머** 모두를 위한 완전한 편집 환경 제공  
- 기존 Emacs 진입 장벽을 낮춰 **새 사용자가 쉽게 적응할 수 있는 출발점** 제공  

---

### IDEmacs 개요
- IDEmacs는 Emacs를 **Visual Studio Code나 Sublime Text** 같은 GUI IDE처럼 사용할 수 있게 하는 **구성 세트**  
  - Emacs의 강력한 기능을 유지하면서도 초보자에게 익숙한 인터페이스 제공  
- 주요 대상은 다음 세 그룹  
  - 다른 IDE에서 넘어온 프로그래머 또는 처음 코딩을 배우는 사용자  
  - **Common Lisp** 및 **Scheme** 초보자 (Sly/Geiser, 구조적 편집 기능 포함)  
  - **Org, Markdown, LaTeX** 문서 편집을 원하는 비프로그래머  
- Emacs의 기본 경험이 낯선 사용자에게 **즉시 사용 가능한 환경**을 제공해 진입 장벽을 낮추는 목적  

### 주요 특징
- **GUI 및 마우스 지원**  
  - 대부분의 스타터 키트와 달리 GUI 요소를 숨기지 않음  
  - `custom` GUI를 통한 설정 지원 (Elisp 직접 편집 불필요)  
- **IDE 스타일 키바인딩**  
  - CUA 모드 기반으로 VSCode 등에서 사용하는 단축키를 광범위하게 재현  
  - `Evil` 모드를 사용하는 Spacemacs, Doom과는 달리 GUI 중심 조작  
- **완전한 Emacs 배포판 수준의 구성**  
  - 빠르고 설정이 필요 없는 환경  
  - 주석이 풍부한 **Elisp 코드**로 구성되어 학습 자료로도 활용 가능  
- **목표 수준**은 완벽한 모방보다 “충분히 유사한” 경험 제공  

### VSCode 구성 (진행 중)
- 현재 제공되는 유일한 IDE 구성  
- 포함 요소  
  - **VSCode Dark Plus 테마**  
  - **Treemacs** 사이드바 파일 탐색기  
  - **Centaur Tabs** 탭 바  
  - **breadcrumb** 파일 경로 표시  
  - **idle-highlight-mode** 심볼 자동 강조  
  - VSCode의 “General”, “Basic Editing”, “Rich Languages Editing”, “Multi-cursor” 단축키 대부분 구현  
- 주요 패키지  
  - 편집: `whole-line-or-region`, `expand-region`, `multiple-cursors`, `smartparens`  
  - 버전 관리: `vc`, `magit`, `diff-hl`, `blamer`  
  - 자동 완성: `Vertico`, `orderless`, `Consult`, `marginalia`, `company`  
  - Lisp 개발: `sly`, `geiser`, `adjust-parens`  
  - 기타: `eat`(터미널), `org-superstar`, `pdf-tools`, `undo-tree`, `helpful`, `rainbow-mode`  
  - 코드 정리는 `use-package`로 관리  

### 키바인딩 구성
- VSCode의 단축키를 Emacs 명령에 매핑  
  - 예:  
    - `C-S-p` → 명령 팔레트 (`execute-extended-command`)  
    - `C-p` → 파일 열기 (`consult-locate`)  
    - `C-S-n` → 새 창 (`make-frame`)  
    - `C-w` → 창 닫기 (`idemacs-kill-buffer-noprompt`)  
    - `C-,` → 사용자 설정 (`customize`)  
- **기본 편집, 다중 커서, 탐색, 파일 관리, 표시 제어** 등 세부 항목별로 대응 명령 정의  
- 일부 단축키는 VSCode와 동작 차이가 있으며, TODO로 표시  

### 참여 및 기여 요청
- 사용자에게 IDEmacs 사용 후 피드백 제공 요청  
  - 초보자 사용 관찰, Jabber/XMPP 또는 이슈 트래커를 통한 의견 공유  
- 개발자에게는 코드 개선 및 기능 확장 참여 권장  

### 관련 프로젝트
- **Mousemacs** (GitHub: seamus-brady/mousemacs)  
  - Emacs를 **Sublime Text나 VSCode처럼 작동**하게 만든 배포판  
  - Lisp 학습을 위해 제작되었으며, 마우스 친화적 인터페이스 제공  
  - 단순한 테마와 함께 Emacs의 모든 기능을 유지  

### 설치 및 실행 방법
- 필수 의존성  
  - **Emacs 29 이상**, `git`, **DejaVu Sans Mono 폰트**  
- 선택 의존성  
  - `grep`, `locate` 또는 `plocate`  
- 설치 절차  
  1. 저장소 클론  
     ```
     git clone https://codeberg.org/IDEmacs/IDEmacs
     ```  
  2. 인터넷 연결 상태에서 Emacs 실행  
     ```
     emacs --init-directory=/path/to/IDEmacs/vscode
     ```  
  - 실행 시 필요한 Emacs 패키지를 자동 다운로드  

### 기타
- 현재 VSCode 구성 외 다른 IDE 스타일은 제공되지 않음  
- 향후 리소스가 허용되면 **새 GUI 구현** 가능성 언급  
- 원문에 추가 정보 없음

## Comments



### Comment 46399

- Author: neo
- Created: 2025-11-17T09:58:48+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=45941835) 
- VSCode가 **쉽다고 생각하는 사람들**은 현실 점검이 필요함  
  처음 실행하면 팝업, 사이드바, 툴팁 등으로 압도당하는 느낌임  
  나도 Emacs 사용자지만, Emacs가 직관적이라고 주장하지는 않음  
  다만 VSCode 역시 마법처럼 쉬운 툴은 아니고, 단지 **대중적인 선택지**일 뿐임
  - VSCode의 UX는 익숙한 편임  
    파일 트리, 에디터, 터미널, 탭 완성, 확장 설치 정도가 대부분 사용자의 상호작용 범위임  
    기본 제공되거나 확장으로 쉽게 추가되지 않으면 대부분 사용하지 않음
  - 전문용 툴(IDEs, DAWs, 영상 편집기 등)은 본질적으로 **복잡성**을 가질 수밖에 없음  
    하지만 VSCode의 복잡도는 vim이나 Emacs와는 비교할 수준이 아님  
    짧은 튜토리얼이나 30분 정도 만져보면 충분히 익숙해질 수 있음  
    반면 neovim은 아예 책 한 권이 필요했음
  - 나도 매일 Emacs를 쓰지만 VSCode는 **자극적이고 거칠게 느껴짐**  
    최근 RustRover를 시도했는데, 클릭만으로는 원하는 설정을 만들기 어려웠음  
    IDE의 ‘쉬움’이 생각보다 허상일 수 있음을 느낌
  - 1년간 Emacs를 쓰다 포기한 입장에서, **상호운용성(interoperability)** 이 훨씬 중요하다고 생각함  
    표준 파일 선택기나 CUA 단축키 같은 일반적 인터페이스를 지원하는 툴이 많음  
    그래서 Emacs 대신 Zim-wiki 같은 대안을 쓰며 더 만족 중임
  - VSCode의 팝업과 사이드바가 부담스럽다는 의견에 대해, Eclipse 같은 **무거운 IDE 경험자**라면 오히려 익숙할 수도 있음  
    반면 tmux나 vi, nano, emacs 중심으로 작업해온 사람이라면 당황할 수 있음

- Emacs는 단순한 IDE가 아니라 **철학과 자유**를 담은 도구임  
  프로그래밍 중심의 사용 사례에 초점을 맞춘 프로젝트들이 많지만, VSCode에서도 Emacs 키바인딩으로 75%는 구현 가능함  
  Emacs는 “부품 상자”를 주고 스스로 조립하게 하는 접근이 핵심임  
  마치 “문명화된 시대의 우아한 무기” 같음
  - 다만 Emacs Lisp은 **함수형 언어**라고 보기 어려움  
    대부분의 데이터 구조가 가변적이며, setq 같은 명령형 함수가 많음

- Emacs에서 **고정된 창 레이아웃**이 실제로 잘 작동하는지 의문임  
  예전에 시도했을 때 Treemacs 패널이 파일 뷰어 대신 코드 버퍼를 표시하곤 했음

- 최근 Emacs를 IDE로 설정하기가 훨씬 쉬워졌음  
  내장된 **eglot** 덕분에 예전보다 elisp 코드가 훨씬 줄었고, Python 설정도 한 줄이면 충분함  
  그래서 이런 프로젝트는 나 같은 기존 사용자보다는 **입문자용 게이트웨이**에 가까움
  - 15년 전 학교에서 Emacs를 썼을 때도 꽤 매끄러웠음  
    OCaml REPL, 68000 에뮬레이터, gdb 통합까지 큰 설정 없이 가능했음  
    이후 원격 서버 환경 때문에 vim으로 옮겼지만, 최근 다시 Emacs를 시도하니 **패키지 관리**가 훨씬 세련되어 있었음  
    다만 DevOps/SRE 관련 툴링은 여전히 부족함

- Spacemacs, Doom 같은 **패키지 번들 프로젝트**를 좋아함  
  직접 쓰지는 않지만 새로운 패키지를 발견할 기회를 주고, 설정을 다시 만질 핑계를 만들어줌
  - 나도 idemacs 페이지의 패키지들을 둘러봤는데, ‘**minimap**’이라는 이름이 특히 인상적이었음  
    단순하지만 목적에 딱 맞는 이름이라 미소가 지어졌음

- Emacs의 **UI를 현대적으로 리빌드**하는 프로젝트가 있었으면 좋겠음  
  핵심은 그대로 두되, 시각적으로 구분이 명확하고 눈이 덜 피로한 인터페이스를 원함  
  예전 Lisp 기반 에디터처럼 Ctrl을 누르면 단축키 안내가 뜨는 기능도 좋았음
  - 오히려 반대 의견임  
    UI는 괜찮고, **단일 스레드 구조와 잦은 멈춤 현상**이 더 시급한 문제라고 생각함  
    하루에 한 번은 C-g를 눌러야 하는 현실이 개선되어야 함
  - 완전히 같은 건 아니지만, Common Lisp 기반의 [Lem](https://github.com/lem-project/lem)을 참고할 만함  
    curses/SDL2 위에서 동작하며 Emacs 스타일을 계승함
  - 아마 **which-key**를 말하는 것 같음  
    예전엔 외부 패키지였지만 최근 Emacs 본체에 통합됨  
    [관련 커밋 링크](https://github.com/emacs-mirror/emacs/commit/fa4203300fde6820a017bf1089652fb95759d68c)
  - 가능한 한 **현재 UI를 유지**하고 싶음  
    그래픽 환경이든 터미널이든 동일한 모습으로 동작하는 점이 큰 장점임  
    Treemacs가 어디서나 같은 모양으로 보이는 게 특히 마음에 듦

- **OniVim v2**가 성공하지 못한 게 아쉬움  
  네이티브 IDE이면서 VSCode 플러그인 시스템을 완전히 지원했음  
  [OniVim v2 아카이브 링크](https://web.archive.org/web/20210627210456/https://v2.onivim.io/)
  - OniVim은 vim의 핵심 기능을 **libvim**이라는 별도 라이브러리로 분리했음  
    다른 GUI 프론트엔드 개발자에게도 유용했을 것임  
    Neovim은 RPC 방식으로 통신하지만, 성능은 충분히 빠름  
    VSCode용 Neovim 플러그인도 이 구조 덕분에 완전한 vim 경험을 제공함
  - 다만 대상 사용자가 애매했음  
    Vim 유저는 Electron 기반의 **입력 지연**과 EULA에 불만일 것이고, VSCode 유저는 Vim에 관심이 없음

- 25년 넘게 Emacs를 써왔는데, 새 설치 시 가장 먼저 하는 일은 **GUI 요소 비활성화**임  
  메뉴나 툴바는 전혀 쓰지 않음
  - VSCode 사용자는 특히 **마우스 중심**으로 작업하지만, Emacs의 강점은 Lisp 머신을 원하는 대로 수정할 수 있다는 점임
  - 나도 15년 넘게 Emacs를 쓰며 전적으로 키보드로만 조작함  
    하지만 내 지도교수는 기본 Emacs를 마우스로 사용하며 LaTeX 작업을 했는데, 꽤 신선한 경험이었음

- Doom Emacs를 계속 쓸 예정이지만, 이런 시도는 반가움  
  Emacs에는 Vertico 같은 **혁신적 UI 플러그인**이 많지만, 기본 경험은 여전히 부족함  
  이런 프로젝트가 Emacs를 더 많은 사람에게 **접근 가능**하게 만든다면 좋은 일임

- 15년 넘게 Emacs를 써왔는데, 내 **유일한 바람**은 VSCode처럼 원격 편집이 가능한 클라이언트-서버 모드임  
  지연이 큰 환경에서도 잘 작동하는 솔루션이 있으면 좋겠음  
  없으면 직접 만들어볼 생각임  
  그래도 VSCode의 Python 통합은 꽤 괜찮음
  - 두 가지 접근이 있음  
    1) 로컬에서 Emacs를 실행하고 **Tramp**로 원격 파일을 편집  
    2) 원격 서버에서 Emacs를 터미널 모드(-nw)로 실행
