TL;DR

  • mdrBeeLine 그라디언트, 마우스·키보드 탐색, 링크 미리보기, 표·코드 블록을 지원하는 작고 빠른 터미널용 TUI 마크다운 리더
  • BeeLine 스타일, 일반 모드, 검색 강조, 스크롤바, 마크다운 파일 큐와 파일시스템 브라우저를 제공함
  • 마우스 드래그나 y·Ctrl+C로 선택 텍스트를 시스템 클립보드에 복사하고, Ctrl+V나 터미널 붙여넣기로 새 문서를 열 수 있음
  • 표는 열 너비에 맞춰 조정되고 여러 줄 셀을 줄바꿈하며, 복사 시 화면 줄바꿈이 아닌 논리적 줄바꿈과 코드 들여쓰기가 보존됨
  • 0.6.0에서 선택·클립보드·붙여넣기·검색·레이아웃·터미널 정리 기능과 관련 회귀 테스트가 추가됨

기능

  • 파스텔 색상 테마를 사용하는 터미널 사용자 인터페이스(TUI)임
  • 줄 추적을 쉽게 하는 BeeLine 스타일 그라디언트를 제공함
  • --no-beeline으로 비활성화하고 b로 전환함
  • m으로 최소한의 스타일만 사용하는 일반 모드(plain mode)를 전환함
  • 여러 문서를 큐에 담고 제목에 [현재 문서/전체 문서] 경로 형식의 현재 파일 표시를 제공함
  • 파일과 디렉터리가 섞인 입력에서 시작 시 마크다운 파일을 검색함
  • 현재 작업 디렉터리에서 시작하는 인앱 마크다운 파일시스템 브라우저를 o로 엶
  • 파일 선택기에서 디렉터리 진입, 상위 디렉터리 이동, 마크다운 파일 직접 열기를 지원함
  • 키보드 탐색을 제공함
  • 위/아래 방향키로 이동함
  • Space 또는 Tab으로 페이지를 아래로 이동함
  • h로 명령을 확인함
  • 마우스 휠 스크롤과 링크 위 URL 표시를 지원함
  • 마우스 드래그로 텍스트를 선택하고 강조 표시함
  • y 또는 Ctrl+C로 선택 텍스트를 복사함
  • Ctrl+V 또는 터미널의 붙여넣기 명령으로 클립보드 텍스트를 새 문서로 붙여넣음
  • 제목, 목록, 강조, 인라인 코드, 인용문, 수평선의 기본 마크다운 스타일을 제공함
  • 열 너비 조정과 여러 줄 셀 줄바꿈을 지원하는 표를 제공하며 헤더를 보존함
  • 화면에 모든 내용이 들어가면 스크롤바를 숨김
  • / 검색, n·N 다음/이전 검색 결과 이동, 현재 검색 결과 강조를 제공함
  • 링크를 밑줄과 색상으로 표시하고 Enter로 가장 가까운 링크를 엶

사용법

  • cargo run -- path/to/file.md로 마크다운 파일을 엶
  • 파일과 디렉터리가 섞인 입력으로 시작 큐를 구성함
  • cargo run -- path/to/file.md docs/
  • BeeLine 스타일을 비활성화함
  • cargo run -- --no-beeline path/to/file.md
  • 로컬 릴리스 빌드를 설치함
  • cargo install --path . --locked

키 바인딩

  • Up/Down: 한 줄씩 스크롤함
  • Space 또는 Tab: 페이지를 아래로 이동함
  • Backtab: 페이지를 위로 이동함
  • ]: 큐의 다음 문서로 이동함
  • [: 큐의 이전 문서로 이동함
  • g: 큐 탐색용 문서 이동 대화상자를 엶
  • o: 현재 작업 디렉터리에서 시작하는 마크다운 파일시스템 브라우저를 엶
  • /: 검색함
  • n / N: 다음/이전 검색 결과로 이동함
  • b: BeeLine을 전환함
  • m: 일반 모드를 전환함
  • h: 도움말을 엶
  • q: 종료함
  • Enter: 가장 가까운 링크를 엶
  • 왼쪽 버튼 드래그: 문서 텍스트를 선택함
  • 링크를 가로질러 드래그해도 링크를 열지 않고 텍스트를 선택함
  • y / Ctrl+C: 선택 텍스트를 시스템 클립보드에 복사함
  • Esc: 선택을 해제함
  • Ctrl+V: 클립보드 텍스트를 새 문서로 붙여넣음

복사와 붙여넣기

  • 텍스트 위를 드래그한 뒤 y 또는 Ctrl+C를 누름
  • 양방향 선택과 줄바꿈된 여러 줄에 걸친 선택을 지원함
  • 복사된 텍스트는 논리적 줄바꿈과 코드 들여쓰기를 보존하며 화면 줄바꿈 때문에 추가 줄바꿈을 넣지 않음
  • 일반 모드(m)에서는 표시된 마크다운 소스를 복사함
  • 짧은 푸터 메시지로 복사 성공이나 클립보드 오류를 알림
  • 클릭은 마우스 버튼을 놓는 시점에 링크를 엶
  • 스크롤은 완료된 선택을 유지하고, 드래그 중 스크롤은 선택 범위를 확장함
  • 오버레이 열기, 문서나 표시 모드 전환, 터미널 크기 조정 시 선택을 해제함
  • Ctrl+V로 시스템 클립보드를 읽거나 터미널의 붙여넣기 명령을 사용함
  • macOS에서는 일반적으로 Cmd+V를 사용함
  • 괄호로 감싼 붙여넣기(bracketed paste)는 파일 선택기가 열려 있어도 텍스트를 [clipboard] 문서로 엶
  • 공백만 포함된 붙여넣기는 무시함
  • 기존 파일을 편집하지 않음
  • 강조 표시는 애플리케이션 선택이므로 터미널의 복사 메뉴에서 인식하지 못할 수 있음
  • y 또는 Ctrl+C를 사용함
  • 텍스트 선택 중에는 푸터에 복사 조작이 표시되고 성공적인 기록을 확인함
  • 터미널이 애플리케이션으로 전달하면 Cmd+C도 지원함
  • 시스템 클립보드 접근에는 사용 가능한 클립보드 서비스가 필요함
  • Linux에서는 실행 중인 애플리케이션이 클립보드 소유권을 유지함
  • 종료 후 지속 여부는 데스크톱 클립보드 관리자에 따라 달라짐

iTerm2에서 Cmd+C 사용

  • Cmd+C로 mdr 선택 영역을 복사하려면 다음 설정을 수행함
  • 설정 → 프로필 → 해당 프로필 → 키 → 키 매핑으로 이동함
  • Cmd+C를 키보드 단축키로 사용하는 매핑을 추가함
  • 동작으로 복사 또는 ^C 전송을 선택하고 저장함
  • iTerm2는 자체 선택 영역이 있으면 해당 영역을 복사하고, 터미널 선택 영역이 없으면 Ctrl+C를 mdr로 보내 애플리케이션 선택 영역을 복사함
  • 이 매핑은 프로필 전체에 적용됨
  • mdr 외부에서 터미널 선택 영역이 없는 Cmd+CCtrl+C로 동작해 실행 중인 명령을 중단할 수 있음
  • iTerm2 키 매핑 문서를 참고함

설치

  • cargo install --path . --locked로 설치함

빌드

  • cargo build --release로 빌드함

참고

  • UI는 의도적으로 가벼운 구조이며 전체 레이아웃이 아닌 스타일을 적용한 일반 텍스트를 렌더링함
  • 표는 현재 뷰포트 너비에 맞추기 위해 긴 셀을 세로로 줄바꿈함

변경 사항

0.6.0 — 2026-09-12

  • 줄바꿈된 여러 줄에 걸친 마우스 드래그 선택을 추가하고, 유니코드 인식 강조와 논리적 줄바꿈·코드 들여쓰기를 보존하는 복사를 제공함
  • 선택 텍스트를 시스템 클립보드에 복사하는 yCtrl+C를 추가하고, 복사 안내와 성공·오류 피드백을 표시함
  • 터미널이 전달하는 Cmd+C를 지원하며 iTerm2 설정은 위 내용을 따름
  • 마우스 링크를 버튼을 놓을 때 열도록 변경해 링크를 가로지르는 드래그가 링크를 열지 않고 텍스트를 선택하게 함
  • 클립보드와 괄호로 감싼 붙여넣기 처리를 통합해 오버레이에서 붙여넣은 텍스트도 새 문서로 엶
  • 줄바꿈 행 수, 스크롤, 마우스 좌표, 결합 문자 선택, 겹치는 검색 강조, 검색 중 q·/ 입력 문제를 수정함
  • UI 입력, 레이아웃, 선택, 오버레이, 클립보드, 터미널 생명주기를 집중된 모듈로 분리함
  • 공유 마크다운 파일 필터링과 캐시된 문서 준비로 중복과 반복 렌더링 작업을 줄임
  • 오류와 언와인드 경로에서 터미널 정리를 추가하고 선택, 클립보드 동작, 검색, 레이아웃에 대한 회귀 테스트를 제공함

0.5.0

  • 클립보드 붙여넣기를 새 [clipboard] 문서로 여는 기능을 추가함
  • 괄호로 감싼 붙여넣기와 오버레이에서의 붙여넣기를 포함함