본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

ved

0

ved는 원래 Unix 라인 에디터인 ed의 상세 버전으로, 친절한 오류 메시지와 내장 도움말 시스템을 갖춘 드롭인 대체품입니다.

터미널편집기

소개

ved는 원래 Unix 라인 에디터인 ed의 상세 버전으로, 친절한 오류 메시지와 내장 도움말 시스템을 갖춘 드롭인 대체품입니다. Excelano LLC가 개발했으며, 순수 표준 라이브러리 Rust로 작성되어 외부 크레이트나 C 의존성 없이 동작합니다. ed의 인터페이스와 동작을 유지하면서도 학습과 사용을 쉽게 돕습니다.

상세정보

ed와의 호환성

ved는 기존 ed 명령어와 호환되며, 대부분의 ed 스크립트가 수정 없이 실행됩니다. 명령어는 짧은 형식과 긴 형식(예: a와 append)을 모두 지원합니다.

친절한 오류 메시지

ed의 한 글자 오류 메시지 대신, ved는 deleted 3 lines (2-4)처럼 구체적인 정보를 제공합니다. 예를 들어, 매치 실패 시 ? no match라고 표시합니다.

내장 도움말 시스템

에디터를 떠나지 않고 help 명령으로 명령어 참조를 확인할 수 있습니다.

긴 형식 명령어 별칭

각 명령어는 짧은 형식 외에도 append, insert, change, delete, print, number, list, join, quit 등의 긴 형식을 지원합니다.

POSIX 기본 정규 표현식

자체 엔진으로 POSIX BRE의 핵심을 구현하며, 캡처 그룹과 역참조를 지원합니다.

Windows

winget을 사용하여 설치할 수 있습니다. winget install Excelano.ved 명령을 실행하면 winget upgrade로 최신 상태를 유지할 수 있습니다. 또는 PowerShell에서 독립 실행형 설치 프로그램을 실행할 수 있습니다.

macOS 및 Linux

Homebrew를 통해 brew install ved로 설치하거나, 사전 빌드된 바이너리 설치 스크립트를 사용할 수 있습니다. Debian/Ubuntu는 Excelano apt 저장소를 추가하여 설치할 수 있습니다.

Cargo

Rust 툴체인이 있다면 cargo install ved로 설치할 수 있습니다.

기본 사용법

터미널에서 ved 파일명을 입력하면 파일을 엽니다. 파일의 바이트 수가 표시된 후 프롬프트가 나타납니다. ,p로 모든 줄을 출력하고, s/old/new/로 치환하며, w로 저장하고 q로 종료합니다.

활용 예시

ved는 ed와 동일한 인터페이스를 제공하므로, EDITOR 환경 변수에 지정하여 git, crontab -e, sudoedit 등의 기본 편집기로 사용할 수 있습니다. 예를 들어, export EDITOR=ved로 설정하면 git commit 메시지 편집 시 ved가 실행됩니다.

지원 환경 및 요구사항

Windows, macOS, Linux에서 사용 가능하며, 각 플랫폼에 맞는 사전 빌드된 바이너리가 제공됩니다. Windows는 x64, macOS는 Apple Silicon 및 Intel, Linux는 x64 및 ARM64를 지원합니다. 소스에서 빌드하려면 Rust 1.85 이상이 필요합니다.

버전 및 업데이트

현재 버전은 0.2.0이며, 2026년 6월 25일에 출시되었습니다. winget, Homebrew, apt 등을 통해 업데이트할 수 있습니다.

제한 사항 및 라이선스

ved는 MIT 라이선스로 배포됩니다. ed에서 물려받은 두 가지 의도적인 제한이 있습니다. 첫째, 줄 구분 기호로 개행 문자만 사용하므로, 개행 없이 레코드 구분 기호(RS 등)를 사용하는 파일은 한 줄로 처리됩니다. 둘째, UTF-8 인코딩만 지원하며, UTF-7 또는 UTF-16 파일은 경고를 표시하고 저장 시 원본을 덮어쓰지 않습니다.

시스템 요구사항

Windows, macOS, Linux에서 사용 가능하며, 각 플랫폼에 맞는 사전 빌드된 바이너리가 제공됩니다. Windows는 x64, macOS는 Apple Silicon 및 Intel, Linux는 x64 및 ARM64를 지원합니다. 소스에서 빌드하려면 Rust 1.85 이상이 필요합니다.