# 코드 에디터 — Liu Terminal

> Liu Terminal 코드 에디터. 터미널 창 안의 구문 강조 편집기: 탐색기 레일, 400개 이상 파일 형식에 걸친 54개 렉서, 찾기 및 바꾸기, 언어를 아는 상태 표시줄, git diff 독.

URL: https://liu.software/ko/docs/code-editor/  
Language: ko  
Updated: 2026-10-17

에이전트와 같은 창에 있는 구문 강조 편집기. 셸 옆 사이드바에서 열거나 탭 하나를 통째로 내어주세요: 왼쪽에 탐색기 레일, 오른쪽에 문서, 찾기 및 바꾸기, 언어를 아는 상태 표시줄 — 터미널을 떠나지 않고.

## 열기

파일 브라우저에서 코드나 텍스트 파일을 클릭하면 뷰어 창에서 바로 편집 모드로 열립니다 — 별도의 "편집" 단계가 없습니다. Markdown은 예외입니다: 렌더링된 상태로 열리며 제목 표시줄에 Read / Edit 토글이 있습니다.

⌘ K → Code Editor는 사이드바의 좁은 영역 대신 편집기에 탭 하나를 통째로 줍니다. 탭은 활성 터미널의 작업 디렉터리에서 열립니다. 사이드바 뷰어에 이미 문서가 열려 있으면 그 문서가 함께 옮겨지고 사이드바 사본은 닫혀, 같은 파일이 두 곳에서 열리는 일이 없습니다.

## 탭 레이아웃

문서가 열리면 탭은 작은 IDE처럼 배치됩니다: 파일 목록은 왼쪽의 좁은 탐색기 레일로 도킹되고 문서가 창의 나머지를 차지합니다. 레일의 모든 행에 파일 형식 아이콘이 있고, 탭 바의 탭 알약도 파일 이름 옆에 같은 아이콘으로 시작합니다. 저장되지 않은 변경 사항은 이름 뒤의 호박색 점으로 표시됩니다.

레일에서 다른 파일을 클릭하면 문서가 바뀝니다. 텍스트 안을 클릭해 캐럿을 놓으세요. 긴 줄은 가로로 스크롤되며 캐럿이 보이는 열을 벗어나면 뷰가 따라갑니다.

## 구문 강조

Liu에는 하이라이터가 정확히 하나 있고 세 표면이 이를 공유합니다: 편집기, git diff 독, Markdown 리더의 펜스 코드 블록. 테이블 기반입니다 — 언어당 한 행에 키워드 테이블, 주석 토큰, 동작 플래그를 담고 — 400개 이상의 파일 확장자와 파일 이름 테이블 뒤에 54개의 렉서가 있어, 편집기의 "main.rs"와 노트의 \`\`\`rs 펜스가 서로 어긋날 수 없습니다.

- **내장 영역.** Vue, Svelte, Astro, HTML, Jinja, ERB 파일은 마크업 호스트입니다: 그 안의 \<script\>는 JavaScript 행으로, \<style\>은 CSS 행으로 분석됩니다 — .js나 .css 파일을 분석하는 코드와 같으며 "태그에서 본 JS" 변형이 아닙니다. Astro frontmatter, {{ }} / {% %} 템플릿 태그, \<% %\>도 같은 규칙을 따릅니다.
- **여러 줄에 걸친 구문.** 블록 주석(중첩 포함), 삼중 따옴표 문자열, 템플릿 리터럴은 상태를 줄에서 줄로 이어가므로, 10번째 줄에서 열린 주석은 40번째 줄에서도 여전히 주석입니다.
- **Diff.** .patch 파일이나 \`\`\`diff 펜스는 초록과 빨강이 허용되는 유일한 언어입니다: 추가된 줄과 삭제된 줄이 곧 그 줄의 의미이기 때문입니다.

## 찾기 및 바꾸기

찾기 바는 문서 오른쪽 위에 떠 있으며 입력하는 대로 검색합니다: 모든 일치 항목이 색칠되고 현재 항목은 더 진하게, 카운터는 "2 of 7"로 읽힙니다. 열려 있는 동안에는 그 키가 편집기 키보다 우선합니다.

- `⌘ F` 찾기 열기
- `⌘ ⇧ F / ⌘ ⌥ F` 찾기 및 바꾸기 열기
- `Enter / ⌘ G` 다음 일치
- `⇧ Enter / ⌘ ⇧ G` 이전 일치
- `Tab` 찾기/바꾸기 필드 전환
- `Enter` 바꾸기 필드에서: 이 일치 항목을 바꾸고 다음으로 이동
- `⌘ Enter` 모두 바꾸기
- `Esc` 바 닫기; 캐럿은 현재 일치 항목에 남음

## 편집 키

macOS 기준입니다. Linux는 ⌘를 Ctrl로, ⌥를 Alt로 매핑합니다. 줄 명령은 캐럿이 있는 줄에 적용됩니다.

- `⌘ S` 저장
- `⌘ Z / ⌘ ⇧ Z` 실행 취소 / 다시 실행
- `⌘ V` 캐럿 위치에 붙여넣기
- `⌘ D` 현재 줄 복제
- `⌘ C / ⌘ X` 현재 줄 복사 / 잘라내기
- `⌘ ⌫` 줄 시작까지 삭제
- `⌘ ← / ⌘ →` 줄 시작 / 끝
- `⌘ ↑ / ⌘ ↓` 문서 시작 / 끝
- `⌥ ← / ⌥ →` 단어 단위 이동
- `⌥ ⌫ / ⌥ ⌦` 캐럿 앞 / 뒤 단어 삭제
- `Tab` 공백 4개 삽입
- `PgUp / PgDn` 20줄 이동

## 상태 표시줄

왼쪽 끝은 캐럿 위치 — Ln 42, Col 17 — 를, 오른쪽 끝은 언어, 줄 끝, 인코딩 — C · LF · UTF-8 — 을 표시합니다. 언어 레이블은 렉서를 고르는 같은 테이블에서 오므로 ".ts"는 JavaScript 행이 강조하더라도 "TypeScript"로 읽힙니다. 테이블이 모르는 확장자는 대문자로 표시되고, 확장자가 없는 파일은 "Text"로 읽힙니다. 줄 끝은 파일에서 측정됩니다(CRLF가 LF보다 많으면 CRLF). ⌘ S는 임시 파일에 쓴 뒤 제자리로 이름을 바꾸므로, 저장 도중 충돌해도 반쯤 쓰인 파일이 남지 않습니다.

## Git 변경 사항

활성 탭이 저장소 안에 있으면 상태 표시줄의 git 세그먼트에 저장소, 브랜치, +N −M 배지가 표시됩니다. 클릭하거나 ⌘ K → Toggle Git Changes를 실행하면 작업 트리의 전체 diff가 오른쪽에 도킹됩니다. 그것은 diff이고 그 외 아무것도 아닙니다: 두 열의 줄 번호 거터, 행마다 전체 너비 색조, 행이 스크롤되는 동안 위에 고정되는 파일별 카드 헤더, 긴 줄의 가로 스크롤 — diff는 절대 줄바꿈되어서는 안 되기 때문입니다. git 호출은 워커 스레드에서 실행되므로 큰 저장소의 콜드 diff가 프레임을 멈추는 일은 없습니다.

[다음 Markdown 뷰어 →](https://liu.software/ko/docs/markdown.md)
