본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 20. 18:38

Show HN: Fresh – Rust로 구축된 새로운 터미널 에디터

요약

Rust로 구축된 Fresh는 낮은 메모리 점유율과 높은 반응성을 자랑하는 강력한 터미널 기반 텍스트 에디터이자 IDE입니다. 대용량 파일 처리와 SSH 원격 편집에 최적화되어 있으며, LSP 다중 실행, 세션 분리/재연결, 샌드박스 기반의 QuickJS 플러그인 시스템 등 고급 개발 기능을 제공합니다.

핵심 포인트

  • Rust 언어 기반의 가볍고 빠른 성능 및 대용량 파일/SSH 환경에서의 높은 반응성
  • LSP(Language Server Protocol) 다중 실행 및 프로젝트별 워크스페이스 루트 자동 감지
  • QuickJS VM을 활용한 샌드박스 형태의 플러그인 시스템 지원
  • 세션 분리(Detach) 및 재연결(Reattach) 기능을 통한 안정적인 원격 작업 환경
  • Git 스테이징 리뷰, 사이드 바이 사이드 Diff, 커맨드 팔레트 등 강력한 IDE 기능

강력한 터미널 텍스트 에디터이자 IDE (Integrated Development Environment)입니다.

즉각적인 시작. 타이핑하는 대로 텍스트가 나타납니다. 작은 메모리 점유율 (Memory footprint). 수 GB 크기의 파일과 SSH를 통한 원격 편집에서도 반응성을 유지합니다.

왼쪽에는 스테이지된 (staged) / 스테이지되지 않은 (unstaged) / 추적되지 않은 (untracked) 파일들을, 오른쪽에는 선택된 차이점 (diff)을 보여주는 분할 패널 리뷰 기능을 제공합니다. 개별 덩어리 (hunks)를 스테이지, 언스테이지 또는 폐기할 수 있으며, 라인 주석과 세션 노트를 남기거나 Markdown으로 내보낼 수 있습니다. 파일 비교를 위한 사이드 바이 사이드 (Side-by-side) 차이점 보기 뷰를 지원합니다.

기능 라우팅 (feature routing) 및 병합된 완성 (merged completions) 기능을 통해 언어당 여러 개의 LSP (Language Server Protocol) 서버(예: pylsp + pyright)를 실행할 수 있습니다. Cargo.toml, package.json, node_modules, site-packages, .cargo와 같이 설정 가능한 마커를 통해 프로젝트별 워크스페이스 루트 (workspace roots)를 감지합니다.

이름이 지정된 세션을 시작하고, 터미널 연결이 끊겨도 세션을 분리 (detach) 및 재연결 (reattach)할 수 있습니다. --wait 플래그는 버퍼가 닫힐 때까지 차단되어, Fresh가 git core.editor 또는 $EDITOR 역할을 할 수 있게 합니다. 핫 엑시트 (Hot Exit) 기능은 재시작이나 충돌 시에도 모든 버퍼를 유지합니다.

fresh -a myproject
--wait 플래그는 커밋 메시지, 리베이스 (rebases) 및 스크립트 흐름에 사용됩니다. fresh user@host:path를 통해 SSH 호스트의 파일을 열 수 있습니다. 연결이 끊어지면 백그라운드에서 재연결됩니다. 대용량 파일 저장 시 파일 전체가 아닌 패치 (patch)만 전송합니다.

플러그인은 OXC로 컴파일되어 임베디드된 QuickJS VM에서 실행되며, 샌드박스 처리되어 동일한 바이너리 내에 포함되어 제공됩니다. 디스크에 node_modules가 필요하지 않습니다. 패키지는 공식 레지스트리에서 설치되며, 언어 팩은 문법 (grammar), 설정 및 LSP 구성을 함께 묶어서 제공합니다.

--init
상태 표시줄 (status bar)의 양쪽 모두 시각적 피커 (visual picker)를 통해 설정할 수 있으며, {clock}, git 브랜치, LSP 상태를 포함하여 순서를 변경할 수 있는 요소들을 지원합니다. 테마는 실시간으로 편집됩니다. 인터페이스는 일본어, 한국어, 중국어, 베트남어를 포함한 여러 언어로 번역되어 있습니다.

접두사 라우팅 (prefix routing)을 지원하는 커맨드 팔레트 (> 명령, # 버퍼, : 라인)를 제공합니다. 충돌 감지 및 컨텍스트별 바인딩 기능이 있는 키 바인딩 (Keybinding) 에디터를 지원합니다. 완전한 마우스 지원을 제공합니다.

curl https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh

한 줄 설치. 툴체인 (Toolchain)이 필요하지 않습니다.

brew install sinelaw/fresh/fresh-editor

winget install fresh-editor

npx @fresh-editor/fresh-editor

또는 전역 설치: npm install -g @fresh-editor/fresh-editor

GitHub Releases에서 Linux, macOS, Windows, FreeBSD용 바이너리 (Binaries)를 제공합니다. $PATH 어디든 배치하세요.

cargo install --locked fresh-editor

이미 Rust 툴체인 (Toolchain)을 가지고 있는 경우 사용하세요.

fresh -a

git core.editor 또는 $EDITOR를 위한 --wait 옵션

--init

{clock}

별도의 설정 없이도 이것은 제가 지금까지 시도해 본 최고의 새로운 TUI 에디터이며, 아마 역대 최고일 것입니다.

이런 에디터를 찾을 수 있을 거라는 희망을 이미 포기했었습니다. 와우.

멀티 커서 (Multi-cursor) 경험은 터미널 기반 에디터 중에서 제가 본 것 중 가장 매끄럽습니다.

이 도구가 정말 마음에 듭니다. 특히 효율성과 속도가 놀랍습니다. 매일 사용하기 시작할 것입니다.

커맨드 팔레트 (Command palette), 파일 열기 메뉴, 그리고 멀티 커서 (Multi cursor) 기능이 정말 즐겁습니다. 매우 잘 설계되었고 정말 직관적입니다.

모두가 빠르고 반응성이 좋은 소프트웨어를 좋아합니다. 솔직히 말씀드리자면... 정말 마음에 듭니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 HN Code Generation의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0