이맥스용 터미널 에뮬레이터 Ghostel, libghostty 기반으로 vterm 대체 화제
- ghostel.el은 Emacs용 터미널 에뮬레이터로 libghostty-vt 라이브러리를 기반으로 동작하며 vterm과 eat을 대체하는 걸 목표로 함
- 터미널 텍스트를 일반 Emacs 버퍼처럼 다룰 수 있어 스크롤백 검색, 키보드만으로 문단 선택 및 복사 같은 기능이 자연스럽게 가능함
- 사용자들은 vterm 대비 fancy TUI 앱(매 프레임 전체 리프레시하는 것들)에서 훨씬 빠르고 입력 처리가 안정적이라고 평가하지만 가끔 화면 상단에 잔여 텍스트가 남거나 완전히 멈추는 버그가 있다고 보고함
- 네이티브 모듈은 MELPA/ELPA가 플랫폼별 바이너리 첨부를 지원하지 않아 첫 사용 시 자동 다운로드되는 방식으로 배포됨
- eshell처럼 evil-mode나 ispell 등 기존 Emacs 편집 기능과의 완전한 통합은 아직 부족하다는 지적이 있음
Hacker News 의견들
vterm에서 ghostel로 옮겼는데 훨씬 빠르고 입력 처리도 안정적임. 근데 가끔 터미널 상단에 쓰레기 텍스트 남거나 완전히 멈춰서 버퍼 죽이고 다시 시작해야 할 때도 있음. 데일리로 쓸만한데 아직 성숙하진 않은 느낌
공동 메인테이너인데 repro 있으면 이슈 올려주면 좋겠음. 상단에 쓰레기 남는 버그는 issue #495일 수도 있고 최신 버전에서 lifecycle 처리 개선했으니 나아졌을 수도 있음
이거 Claude code 연동까지 쓰니까 이제 이맥스가 내 작업 허브가 됨
Ghostel 메인테이너임. 우리가 다음 주에 Show HN 하려고 했는데 누가 먼저 올렸네. libghostty-vt 기반 터미널이고 vterm/eat 대비 기능 비교표랑 성능/정확성 비교 gist도 올려놨음. 개인적으로는 vterm뿐 아니라 kitty/Ghostty 같은 외부 터미널도 다 대체함
eshell처럼 텍스트를 일반 이맥스 버퍼처럼 다룰 수 있는 게 진짜 킬러 기능인데 ghostel은 evil-mode나 ispell 같은 게 그대로 안 먹힘. evil-ghostel-mode 같은 확장은 있는데 제한적임. 이런 통합 개선할 계획 있나 궁금함
lazygit 같은 스크롤 프로그램이 다른 터미널 에뮬레이터에서는 깨지는데 ghostel에서는 잘 되던데 라이브러리 쪽에 특별한 게 있는 건지 궁금함
magit에서 큰 diff 파싱할 때 전체가 블록되는 경우가 있어서 결국 따로 터미널을 유지하게 됨
네이티브 모듈이 첫 사용 시 자동 다운로드되는 이유가 뭔지, 그냥 배포에 포함시키면 안 되나
MELPA/ELPA는 플랫폼별 파일 첨부 방법이 없어서 전체 플랫폼 바이너리(10MB+)를 체크인해야 하는데, jinx 같은 유명 패키지도 vterm처럼 첫 사용 시 다운로드/컴파일 방식을 쓰고 있음
제목에 Emacs라는 단어가 들어가야 할 것 같음. 그냥 터미널 에뮬레이터랑 이맥스용 터미널 에뮬레이터는 완전히 다른 얘기임
TUI 안 쓰고 스크롤 텍스트도 많지 않으면 이런 신형 터미널 구현체들 안 써도 별로 아쉬운 게 없을 것 같은데 뭘 놓치고 있는 건지 궁금함
GPU 렌더링 쓰는 최신 세대 터미널의 가장 큰 차이는 렌더링 속도인데 수백만 줄 스크롤이나 고해상도 모니터에서 특히 체감됨. 한번 빠른 렌더링 맛보면 예전 걸로 못 돌아감
나한테는 파일 다루든 터미널 다루든 같은 키보드 워크플로우 유지되는 게 제일 좋음. 같은 단축키랑 멘탈 모델 그대로 쓰면서 elisp로 자동화도 얹을 수 있음
한 달 넘게 써봤는데 Codex 요약에서 코드 레퍼런스 클릭하면 바로 이맥스 버퍼에서 열리는 게 진짜 편함