메뉴 건너뛰기

SayClub.org

매킨토시(Mac)

작성 기준 : macOS용 BBEdit 최신 버전(15.x) 기능 및 실무 활용 관점 분석
작성일 : 2026-04-29
환경 : macOS Sonoma 기준, 한국어 사용자(개발·웹·문서 작업 혼합 환경)

BBEdit for macOS: 기능 및 사용법 완전 가이드

1. BBEdit 개요 및 포지셔닝

BBEdit은 macOS 전용으로 설계된 전문 텍스트·코드·마크업 에디터로, 단순한 메모장 수준이 아니라 대규모 코드베이스, 웹 사이트, 로그 파일, 데이터 스크립트까지 폭넓게 다루는 개발자·파워유저 중심의 도구입니다.

이 앱의 철학은 “텍스트 기반 작업을 최대한 빠르고 안전하게 처리한다”는 것으로, 강력한 검색/치환, 프로젝트 관리, 정규식(grep), HTML·XML 도구, 자동 백업 및 버전 관리 친화 기능을 통해 GUI 에디터이면서도 유닉스 환경과의 긴밀한 연계를 제공합니다.

무료 모드와 라이선스 모드의 기능 차이가 존재하며, 무료 모드만으로도 일반적인 텍스트 편집 및 단일 파일 코딩은 충분히 가능하고, 라이선스를 추가하면 프로젝트 단위 관리, 고급 HTML 도구, 다중 파일 치환, 워크스페이스 탐색 등 팀 개발에 적합한 기능이 활성화됩니다.

2. 설치 및 기본 설정 흐름

2.1 설치 경로 및 첫 실행

BBEdit은 Mac App Store 또는 공식 사이트(dmg 다운로드)로 설치할 수 있으며, Mac App Store 버전은 샌드박스 정책의 제약을 받고, dmg 버전은 전통적인 방식으로 보다 자유롭게 파일 시스템·외부 도구와 연동됩니다.

처음 실행 시 라이선스 모드 체험(Trial) 후 영구 라이선스를 등록하거나, 무료 모드로 전환하여 사용할 수 있으며, 기능 차이는 설정 메뉴의 특정 항목 비활성화, 일부 고급 도구 사용 불가 형태로 나타납니다.

2.2 기본 환경설정(Preferences) 구조 이해

BBEdit의 환경설정은 상단 메뉴에서 BBEdit → Preferences…로 접근하며, 왼쪽 패널에 카테고리(Application, Text Colors, Editor Defaults, Languages, Menus & Shortcuts 등)가 분류되어 있습니다.

각 카테고리는 UI 표시, 편집 동작, 텍스트 스타일, 파일 처리 정책, 프로젝트 관리, 단축키 및 스크립팅 등 서로 다른 계층의 동작을 담당하므로, 실무에서는 최소한 Application, Editor Defaults, Languages, Menus & Shortcuts는 먼저 정리해 두는 것이 효율적인 사용의 출발점입니다.

Tip : 여러 맥에서 동일한 개발 환경을 유지하려면, BBEdit 환경설정 파일과 “Application Support/BBEdit” 폴더를 버전 관리(Git) 또는 동기화 도구로 관리해 두는 방식이 실무에서 많이 사용됩니다.

3. 인터페이스 구조와 기본 동작

3.1 편집 창 구조

BBEdit의 편집 창은 상단 제목 표시줄, 편집 영역, 라인 번호 표시 영역, 선택적 코드 폴딩 영역, 하단 상태 바 구성으로 이루어져 있으며, 문서의 인코딩, 줄 끝(Line Endings), 탭/스페이스 모드 등의 상태가 하단에 표시됩니다.

코드나 마크업 파일을 열면 언어 인식에 따라 자동으로 문법 하이라이팅이 적용되고, 함수·클래스 목록 등 네비게이션 패널이 활성화되어 긴 파일에서도 특정 심볼로 빠르게 이동할 수 있습니다.

3.2 새 문서 및 기존 문서 열기

새 문서는 일반적으로 Command+N으로 생성하며, 언어 자동 감지는 파일 확장자 또는 사용자가 강제로 지정한 언어 설정에 따라 결정됩니다.

BBEdit은 다중 문서를 하나의 윈도우 안에서 탭으로 관리할 수 있으며, 최근 문서 목록, 프로젝트에 속한 파일 목록, 북마크 기능을 통해 빈번히 사용하는 파일을 빠르게 다시 열 수 있습니다.

동작 메뉴 경로 단축키
새 문서 생성 File → New → Text Document Command + N
파일 열기 File → Open… Command + O
최근 문서 열기 File → Open Recent –
현재 문서 닫기 File → Close Command + W
Tip : BBEdit 시작 시 매번 빈 문서만 열고 싶다면, Preferences의 Application(또는 Documents) 항목에서 ‘마지막 세션 문서 다시 열기’ 옵션을 해제하고, ‘앱 시작 시 새 문서 열기’에 해당하는 설정을 활성화하면 됩니다.

4. 텍스트 편집 및 변환 기능

4.1 기본 편집 기능

BBEdit은 복수 클립보드, 다중 Undo/Redo, 컬럼 선택(직사각형 선택), 줄 이동, 문단 재정렬 등 고급 편집 기능을 지원하며, 특히 긴 텍스트에서 특정 열(column) 단위로 데이터를 다룰 때 효율성이 높습니다.

문장·단어·라인 단위 선택, 줄 복제, 선택 영역 감싸기(따옴표, 태그 등)와 같은 반복 동작들은 대부분 메뉴 명령과 단축키가 준비되어 있어, 개발·마크업 편집 시 키보드만으로 빠르게 작업할 수 있습니다.

기능 메뉴 위치 예시 단축키
줄 복제 Edit → Duplicate Line Command + D (설정에 따라 상이)
라인 주석 토글 Edit → Comment → Comment/Uncomment Command + /
문자열 블럭 주석 토글 Edit → Comment → Block Comment Command + Option + /
들여쓰기/내어쓰기 Edit → Shift Left/Right Command + [ / Command + ]

4.2 텍스트 변환(Text Transform)과 케이스 변경

BBEdit은 대문자·소문자·타이틀 케이스 변환, 공백 정리, 정렬, 중복 제거, 하드 랩(줄바꿈), 탭/스페이스 변환과 같은 텍스트 변환 기능을 제공하며, 이는 메뉴 또는 단축키를 통해 선택 영역 또는 문서 전체에 적용할 수 있습니다.

예를 들어 SQL 로그에서 특정 열만 추출한 뒤, 공백과 구분자를 정리하고, 각 라인을 소문자로 통일한 상태로 내보내는 작업을 몇 번의 명령으로 처리할 수 있어 데이터 전처리에도 효율적입니다.

Tip : 자주 사용하는 텍스트 변환은 메뉴 & 단축키 설정에서 단축키를 직접 지정해 두면, 케이스 변경·트리밍·정렬 같은 반복 작업을 한 손으로 처리할 수 있습니다.

5. 검색(Search) 및 정규식(grep) 활용

5.1 기본 검색 및 치환

BBEdit의 검색 패널은 단일 문서 검색, 다중 문서 검색, 프로젝트 전체 검색, 폴더 기반 검색을 모두 지원하며, 대소문자 구분, 단어 단위 검색, 정규식(grep) 옵션을 세밀하게 조절할 수 있습니다.

검색 결과는 별도의 결과 창에 리스트로 표시되며, 각 행을 클릭하면 해당 파일과 라인으로 즉시 이동할 수 있어, 대규모 프로젝트에서 특정 심볼 또는 에러 패턴을 추적하는 데 유용합니다.

5.2 정규식(grep) 검색의 원리와 예시

BBEdit의 grep은 전통적인 정규식 엔진을 기반으로 하며, 괄호 그룹, 역참조, 문자 클래스, 앵커, 비탐욕 수량자 등을 지원하여 로그 분석, 코드 리팩터링, 데이터 추출에 매우 적합합니다.

예를 들어, 로그 파일에서 IPv4 주소 패턴을 찾을 때는 숫자 1~3자와 점(.)이 반복되는 패턴을 사용하고, 이메일 주소 추출, 날짜 포맷 변환 등도 정규식을 활용해 검색과 치환을 한 번에 수행할 수 있습니다.

# 예시: IPv4 주소 찾기용 정규식 (간단 버전)
([0-9]{1,3}\.){3}[0-9]{1,3}
Tip : 다중 파일 grep 검색 결과에서 특정 패턴만 다시 필터링하고 싶다면, 결과 창 자체도 하나의 텍스트로 간주하고 추가 검색을 적용하는 방식으로 2단계 필터링을 수행할 수 있습니다.

6. 프로그래밍 언어 지원 및 코드 편집

6.1 지원 언어와 문법 하이라이트

BBEdit은 C, C++, Objective-C, Swift, Java, JavaScript, TypeScript, Python, Ruby, PHP, Go, Rust를 포함한 다양한 언어의 문법 하이라이팅과 코드 폴딩, 함수 네비게이션을 기본 제공하거나 언어 모듈을 통해 확장 지원합니다.

언어 모드는 자동 감지 외에 강제로 설정할 수 있어, 확장자가 특이한 내부 스크립트 파일도 원하는 언어 스타일로 색상 및 폴딩을 적용할 수 있습니다.

6.2 코드 네비게이션 및 리팩터링 보조 기능

함수·클래스 목록 패널을 통해 현재 파일 내 심볼을 계층 구조로 확인하고, 항목을 선택하면 해당 위치로 즉시 이동할 수 있어, IDE 수준의 심볼 네비게이션은 아니더라도 경량 에디터로서는 충분한 생산성을 제공합니다.

일부 언어는 언어 서버 프로토콜(LSP)을 통한 진단, 코드 완성, 정의로 이동, 참조 찾기, 리네임 등의 기능을 연동할 수 있으며, 이 경우 BBEdit이 언어 서버에서 제공하는 정보에 기반해 코드 품질 분석 및 자동 포맷팅을 수행합니다.

코드 기능 설명 사용 예
함수 네비게이션 파일 내 함수/클래스를 목록으로 표시 긴 JS 파일에서 특정 함수로 점프
코드 폴딩 블록({}) 단위로 접기/펼치기 긴 클래스에서 특정 메서드만 펼쳐 보기
문법 오류 진단(LSP) 언어 서버 진단 결과를 라인 옆에 표시 TypeScript 컴파일 오류 확인
Caution : BBEdit은 풀스택 IDE가 아니므로, 디버거, 빌드 시스템, 패키지 관리 등은 별도 도구와 연계해야 합니다. 이를 감안해 “에디터 + 터미널 + 언어 도구 체인” 구조로 워크플로를 설계하는 것이 좋습니다.

7. 웹 개발 및 HTML·CSS·JS 작업

7.1 HTML 도구 세트

BBEdit은 HTML5, HTML 4.01, XHTML 및 관련 표준을 대상으로 하는 풍부한 HTML 도구를 제공하며, 태그·속성 자동 완성, 닫는 태그 자동 삽입, 마크업 편집 패널, HTML 엔티티 삽입 팔레트 등 웹 개발에 특화된 기능을 갖추고 있습니다.

문서 또는 사이트 단위 HTML 유효성 검사, 브라우저·내장 미리보기, 간편한 링크·이미지 삽입, include/플레이스홀더 기능을 통해 정적 사이트부터 템플릿 기반 사이트 관리까지 대응이 가능합니다.

7.2 CSS·JavaScript 편집과 미리보기

CSS 파일은 선택자, 속성, 값에 대한 문법 하이라이트 및 자동 들여쓰기를 지원하며, JS/TS 파일은 함수·클래스 구조를 기준으로 코드 폴딩과 네비게이션을 제공합니다.

내장 미리보기 기능과 외부 브라우저 연동을 통해 HTML+CSS+JS 조합 결과를 빠르게 확인할 수 있고, 내장 간이 웹서버 기능이 지원되는 경우 동적 페이지의 렌더링 확인도 가능합니다.


<!doctype html>
<html lang="ko">
<head>
  <meta charset="utf-8">
  <title>BBEdit HTML 테스트</title>
</head>
<body>
  <h1>Hello BBEdit</h1>
</body>
</html>

8. 프로젝트, 작업공간, 다중 파일 관리

8.1 프로젝트 파일(.bbproject)과 워크스페이스

BBEdit 프로젝트는 특정 디렉터리 구조와 연관 파일들을 하나의 워크스페이스로 정의하는 기능으로, 프로젝트 창에서 폴더 트리, 파일 목록, 북마크, 검색 범위를 일괄 관리할 수 있습니다.

프로젝트 파일(.bbproject)을 버전 관리 시스템에 포함시키면, 팀원 간 동일한 파일 구조와 도구 설정을 공유할 수 있어 협업 시 경로·파일 누락 문제를 줄일 수 있습니다.

8.2 다중 파일 검색·치환, 배치 처리

다중 파일 검색·치환 기능은 프로젝트 전체 또는 지정 폴더에서 특정 문자열이나 정규식 패턴을 찾고, 한 번에 치환하는 배치 작업을 지원하며, 적용 전 미리보기와 일부 파일만 선택 적용도 가능합니다.

예를 들어, API 엔드포인트 경로 변경, 라이브러리 버전 문자열 변경, 네임스페이스 리팩터링 등 대량 수정 작업을 IDE 없이도 안전하게 수행할 수 있습니다.

Tip : 다중 파일 치환은 항상 “Dry Run” 개념으로 검색 결과를 먼저 검토하고, Git diff를 통해 변경 내용을 다시 확인한 후 커밋하는 절차를 갖추면 사고를 크게 줄일 수 있습니다.

9. 파일 처리, 인코딩, 백업 전략

9.1 인코딩과 줄 끝(Line Endings)

BBEdit은 UTF-8, UTF-16, ISO-8859, EUC-KR 등을 포함한 다양한 인코딩을 지원하며, 문서별 인코딩 및 줄 끝 형식(Unix LF, Windows CRLF, Classic Mac CR)을 하단 상태 바에서 확인·변경할 수 있습니다.

로그 분석, 크로스 플랫폼 스크립트 작성 시 줄 끝 형식을 통일해야 예상치 못한 diff, 빌드 실패, 스크립트 실행 오류를 방지할 수 있으므로, BBEdit의 자동 변환 옵션과 저장 시 인코딩 정책을 정확히 설정해 두는 것이 중요합니다.

9.2 자동 저장 및 백업 파일

BBEdit은 저장 시 자동 백업 파일 생성, 임시 파일 보관, 예기치 않은 종료 후 문서 복원 기능을 제공하며, 백업 파일의 위치와 이름 형식을 환경설정에서 세밀하게 조정할 수 있습니다.

대규모 로그나 중요 설정 파일을 직접 수정하는 경우, 자동 백업과 함께 Git 등 외부 버전 관리 시스템을 병행하면 롤백과 변경 추적이 훨씬 안전해집니다.

Caution : 자동 백업 파일이 많은 프로젝트 디렉터리에 그대로 남을 경우, 배포 스크립트가 불필요한 파일까지 포함할 수 있으므로, 백업 경로를 별도 디렉터리로 분리하거나 .gitignore 규칙을 명확히 설정해야 합니다.

10. 유닉스·터미널·스크립트 연동

10.1 터미널과의 통합 사용

BBEdit은 macOS 터미널 및 zsh, bash 등 쉘 환경과 함께 사용하기에 적합하며, 명령행 도구를 통해 터미널에서 직접 파일을 열거나, BBEdit에서 쉘 스크립트를 편집한 후 바로 터미널에서 실행하는 패턴이 일반적입니다.

예를 들어, 로그 파일을 BBEdit에서 열고 정규식으로 전처리한 뒤, 저장 후 터미널에서 awk, grep, sed 등으로 추가 가공하는 식으로 GUI 편집과 CLI 도구의 장점을 결합할 수 있습니다.

# 예시: 터미널에서 BBEdit로 파일 열기 (bbedit 명령 설치 가정)
bbedit /var/log/system.log
bbedit *.conf

10.2 AppleScript, Automator, Shortcuts, Unix 스크립팅

BBEdit은 AppleScript와 Automator, macOS Shortcuts, 쉘 스크립트를 통한 자동화 기능을 적극 지원하며, 문서 열기·검색·치환·저장 같은 작업을 스크립트로 호출할 수 있습니다.

예를 들어, 매일 생성되는 로그 디렉터리에서 특정 패턴을 추출해 통계 파일로 정리한 뒤, 결과를 BBEdit에서 자동으로 열어 확인하는 일련의 파이프라인을 AppleScript와 쉘 스크립트 조합으로 구현할 수 있습니다.

-- 간단 AppleScript 예시 (현재 문서 저장)
tell application "BBEdit"
  if exists of front document then
    save front document
  end if
end tell

11. 단축키, 메뉴 커스터마이징, 개인화 설정

11.1 주요 단축키와 학습 우선순위

BBEdit은 macOS 표준 단축키를 대부분 따르며, 여기에 텍스트 변환, 검색, 코드 네비게이션 관련 고유 단축키가 추가되는 구조입니다.

개발자 관점에서는 파일 열기/저장, 검색/치환, 주석 토글, 들여쓰기, 윈도우 전환, 프로젝트 검색까지의 단축키 숙지가 초기 학습의 핵심이며, 이후 텍스트 변환 및 사용자 정의 단축키를 필요에 따라 확장하는 방식이 효율적입니다.

분류 동작 단축키 예시
파일 Preferences 열기 Command + ,
윈도우/탭 윈도우 간 순환 Command + `
텍스트 Hard Wrap(줄바꿈 정리) Command + \
검색 검색 패널 열기 Command + F

11.2 메뉴 & 단축키 커스터마이징

Menus & Shortcuts 설정에서는 각 메뉴 항목의 표시 여부, 순서, 단축키를 직접 조정할 수 있으며, 자주 쓰지 않는 메뉴를 숨기고, 자주 쓰는 기능에 짧은 단축키를 할당해 자신만의 경량화된 인터페이스를 만들 수 있습니다.

예를 들어, 특정 텍스트 변환이나 스크립트 실행에 Control+Option 조합 단축키를 할당해, 외부 도구 없이 에디터 내부에서 반복 작업을 빠르게 처리하는 워크플로를 구축할 수 있습니다.

Tip : 단축키 충돌을 피하려면, macOS 전체 단축키, 다른 앱(특히 터미널·IDE)에서 이미 사용 중인 조합을 먼저 정리한 뒤, BBEdit에는 상대적으로 덜 사용되는 조합을 우선 할당하는 것이 좋습니다.

12. 클립핑(Clippings)과 코드 스니펫 관리

12.1 클립핑 개념과 활용

클립핑은 반복적으로 사용하는 코드 조각, HTML 블록, 문서 템플릿, 주석 헤더 등을 저장해 두고 필요할 때 빠르게 삽입하는 기능으로, 언어별·프로젝트별로 별도 클립핑 세트를 구성할 수 있습니다.

언어 모드에 따라 다른 클립핑 메뉴가 표시되도록 구성하면, 예를 들어 HTML 파일에서는 HTML 템플릿 목록이, Python 파일에서는 함수/클래스 스켈레톤 목록이 자동으로 나타나 자연스럽게 언어별 스니펫 라이브러리를 운영할 수 있습니다.

12.2 실무 예시: REST API 클라이언트 스니펫

예를 들어, 백엔드 개발자가 REST API 호출 코드 패턴을 클립핑으로 등록해 두고, 엔드포인트와 파라미터만 수정하며 재사용하면, 반복적인 코드 타이핑을 크게 줄이고 형식 오류 가능성을 낮출 수 있습니다.

이와 같이 BBEdit의 클립핑 기능은 단순 코드 스니펫 관리가 아니라, 팀 코딩 스타일과 표준 템플릿을 강제하는 데도 활용할 수 있습니다.

# 예시: 간단 REST API 호출 코드 스니펫 (언어 무관 템플릿)
GET /api/v1/resource/{id}?limit={limit}&offset={offset}
Authorization: Bearer {token}

13. 고급 설정(Expert Preferences)과 튜닝 포인트

13.1 Expert Preferences 개념

BBEdit에는 일반 GUI 환경설정에 노출되지 않는 고급 설정 값들이 있으며, 이는 Expert Preferences로 불리며 plist 수정 또는 특정 명령을 통해 조정할 수 있습니다.

예를 들어, camelCase 단위로 커서 이동, 특정 자동 저장 동작의 세부 조정, 숨김 파일 표시 정책 등 정교한 동작을 변경하는 옵션들이 여기에 포함되어 있어, 에디터의 움직임을 자신의 코딩 스타일에 매우 가깝게 맞출 수 있습니다.

13.2 실무에서 유용한 세부 튜닝

실무에서는 대규모 프로젝트에서의 검색 성능, 백업 파일 생성 정책, 자동 들여쓰기 스타일, 탭 폭, 줄 번호·폴딩 표시 여부, 마크다운이나 로그 파일에 대한 기본 언어 모드 지정 등이 주로 조정 대상이 됩니다.

이러한 튜닝은 초기 세팅에 시간을 조금 투자하면 이후 수년간 같은 환경을 그대로 유지할 수 있으므로, 특히 여러 언어를 동시에 다루는 개발자라면 언어별 기본값과 공통 에디터 동작을 명확히 정의해 두는 것이 생산성 면에서 큰 이득을 줍니다.

Tip : Expert Preferences는 변경 전·후 설정 파일을 백업해 두고, 변경 내용과 체감 효과를 간단히 기록해 두면, 나중에 문제 발생 시 어떤 옵션이 원인이었는지 빠르게 추적할 수 있습니다.
위로