소개
CudaText는 Alexey-T가 개발한 오픈소스 크로스플랫폼 텍스트 및 코드 편집기로, Free Pascal과 Lazarus로 작성되었습니다. 300개 이상의 언어에 대한 신택스 하이라이트와 탭 기반의 가벼운 인터페이스를 제공하며, JSON 형식의 설정 파일과 Python 확장 기능도 지원합니다. Windows, macOS, Linux, FreeBSD 등 다양한 운영 체제에서 동일한 사용 경험을 제공하는 것이 목표입니다.
상세정보
광범위한 신택스 하이라이트
300개 이상의 프로그래밍 언어와 마크업 언어에 대한 신택스 하이라이트를 기본 제공하여 다양한 개발 환경에서 활용할 수 있습니다.
탭 인터페이스 및 JSON 기반 설정
탭을 활용한 가벼운 인터페이스를 채택하고 있으며, 모든 환경 설정은 JSON 형식의 파일로 관리됩니다. 옵션 대화상자에 의존하지 않아 설정 파일을 직접 편집하거나 버전 관리 시스템으로 추적하기 쉽습니다.
Python 확장 지원
Python으로 플러그인을 작성해 기능을 확장할 수 있습니다. 매크로 기록 및 검색 동작을 포함하는 Macros 플러그인 등 다양한 3rd party 확장이 제공됩니다.
크로스플랫폼 네이티브 성능
Free Pascal과 Lazarus로 작성되어 네이티브 실행되며, 메모리 사용량이 가벼운 편입니다. 대용량 파일도 안정적으로 다룰 수 있습니다.
설치 및 기본 사용
CudaText는 zip 형식의 패키지로 배포되며, 설치 없이 압축을 해제해 바로 실행할 수 있는 포터블 형태로 제공됩니다. Windows에서는 winget을 통해 설치할 수도 있습니다.
- SourceForge의 release 폴더에서 운영 체제별 패키지(zip)를 내려받아 원하는 폴더에 압축 해제합니다.
- Windows 패키지에는 cudatext.exe가 포함되어 있으며, 더블클릭으로 실행합니다.
- winget을 사용하는 경우
winget install --id CudaText.CudaText --exact명령으로 설치할 수 있습니다. - 업데이트 시 설정을 유지하려면 새 버전의 폴더 안쪽 전체를 기존 CudaText 디렉터리로 덮어쓰기 합니다.
기본 사용 흐름은 다음과 같습니다.
- 프로그램을 실행한 뒤 메뉴의 열기 또는 드래그 앤 드롭으로 편집할 파일을 불러옵니다.
- 텍스트를 수정한 뒤 저장 단축키(파일 → 저장, Ctrl+S)로 변경 사항을 저장합니다.
- 환경 설정 메뉴에서 글꼴, 색상 테마, 신택스 하이라이트 옵션 등을 JSON 파일로 직접 조정합니다.
- 필요한 기능은 Python 플러그인을 통해 추가합니다.
활용 예시
- 다양한 언어의 소스 코드를 빠르게 열어 보고 편집하는 가벼운 코드 편집 환경
- JSON 형식 설정 파일을 직접 관리해 여러 환경 간 설정을 공유하거나 백업하는 용도
- Python 플러그인을 활용해 매크로 기록·검색 등 반복 편집 작업을 자동화하는 용도
- 메모리 사용량을 최소화하면서 대용 파일 텍스트를 열어 검토하는 용도
제한·라이선스·확인사항
- 라이선스는 MPL-2.0(Mozilla Public License 2.0)이며, 소스 공개 의무 등 MPL-2.0의 조건이 따릅니다.
- 일부 메뉴의 UI 반응 속도는 과거 사용자 반응에서 지적된 이력이 있으며, 개발자 측에서 ui_timer_idle, py_caret_slow 등의 설정 값을 통해 지연 시간을 조정할 수 있습니다.
- 최신 기능과 변경 사항은 공식 문서와 GitHub 저장소를 통해 확인하는 것이 안전합니다.
FAQ
- CudaText는 어떤 언어로 작성되었나요? Free Pascal과 Lazarus로 작성되었습니다.
- 어떤 운영 체제에서 실행할 수 있나요? Windows, macOS, Linux, FreeBSD를 지원합니다.
- 설정은 어떻게 변경하나요? 옵션 대화상자 대신 JSON 형식의 설정 파일을 직접 편집해 변경합니다.
- 업데이트할 때 설정은 어떻게 보존하나요? 새 릴리스 폴더 안의 내용을 기존 CudaText 디렉터리로 덮어쓰면 설정이 그대로 유지됩니다.
시스템 요구사항
- 운영 체제: Windows, macOS, Linux, FreeBSD (크로스플랫폼 지원)
- 패키지 형식: zip 형식의 설치/배포 패키지 (아키이처 x64)
- 런타임/플랫폼: Python 확장 지원, Lazarus로 작성된 네이티브 실행
- 컴파일 시 필요 패키지(소스에서 빌드할 경우): bgrabitmap, EncConv, ATBinHex-Lazarus, ATFlatControls, ATSynEdit, ATSynEdit_Cmp, EControl, ATSynEdit_Ex, Python-for-Lazarus, Emmet-Pascal
- 라이선스: Mozilla Public License 2.0 (MPL-2.0)


