통합 터미널
VMark에는 에디터를 떠나지 않고 명령을 실행할 수 있는 내장 터미널 패널이 포함되어 있습니다.
터미널 패널을 토글하려면 Ctrl + `를 누릅니다.
세션
터미널은 각각 자체 셸 프로세스를 가진 최대 5개의 동시 세션을 지원합니다. 오른쪽의 수직 탭 바에 번호가 매겨진 세션 탭이 표시됩니다.
| 동작 | 방법 |
|---|---|
| 새 세션 | + 버튼 클릭 |
| 세션 전환 | 탭 번호 클릭 |
| 세션 닫기 | 휴지통 아이콘 클릭 |
| 셸 재시작 | 재시작 아이콘 클릭 |
마지막 세션을 닫으면 패널이 숨겨지지만 세션은 살아있습니다 — Ctrl + `로 다시 열면 이전 상태로 돌아갑니다. 셸 프로세스가 종료되면 아무 키나 눌러 재시작합니다.
키보드 단축키
터미널 패널이 포커스되어 있을 때 다음 단축키가 작동합니다:
| 동작 | 단축키 |
|---|---|
| 복사 | Mod + C (선택 시) |
| 붙여넣기 | Mod + V |
| 지우기 | Mod + K |
| 검색 | Mod + F |
| 터미널 토글 | Ctrl + ` |
TIP
선택 없이 Mod + C를 사용하면 실행 중인 프로세스에 SIGINT를 보냅니다 — 일반 터미널에서 Ctrl+C를 누르는 것과 동일합니다.
검색
Mod + F를 눌러 검색 바를 엽니다. 입력하면 터미널 버퍼를 점진적으로 검색합니다.
| 동작 | 단축키 |
|---|---|
| 다음 일치 | Enter |
| 이전 일치 | Shift + Enter |
| 검색 닫기 | Escape |
컨텍스트 메뉴
터미널 안에서 오른쪽 클릭하여 접근합니다:
- 복사 — 선택한 텍스트 복사 (선택 없으면 비활성화)
- 붙여넣기 — 클립보드에서 셸에 붙여넣기
- 모두 선택 — 전체 터미널 버퍼 선택
- 지우기 — 보이는 출력 지우기
- 디스플레이 재설정 — 터미널을 다시 칠하고 렌더링 캐시를 재설정합니다. 긴 세션 후 문자가 겹치거나, 대소문자가 섞이거나, 깨져서 렌더링되면 사용하세요 — 보통 스타일이 많이 적용된 CLI (예: Claude Code)를 몇 시간 동안 실행할 때 발생합니다.
클릭 가능한 링크
터미널은 명령 출력에서 두 가지 유형의 링크를 감지합니다:
- 웹 URL — 클릭하면 기본 브라우저에서 열립니다
- 파일 경로 — 클릭하면 에디터에서 파일이 열립니다 (
:line:col접미사 지원 및 워크스페이스 루트를 기준으로 한 상대 경로 해결)
셸 환경
VMark는 모든 터미널 세션에서 다음 환경 변수를 설정합니다:
| 변수 | 값 |
|---|---|
TERM_PROGRAM | vmark |
EDITOR | vmark |
VMARK_WORKSPACE | 워크스페이스 루트 경로 (폴더가 열려 있을 때) |
PATH | 전체 로그인 셸 PATH (시스템 터미널과 동일) |
통합 터미널은 로그인 셸의 PATH를 상속하므로 node, claude 등의 CLI 도구와 사용자가 설치한 바이너리를 일반 터미널 창에서와 동일하게 사용할 수 있습니다.
셸은 $SHELL에서 읽습니다 (/bin/sh로 대체). 작업 디렉터리는 워크스페이스 루트, 활성 파일의 상위 디렉터리, 또는 $HOME에서 시작합니다.
Ctrl+R (zsh/bash의 역방향 기록 검색)과 같은 표준 셸 단축키는 터미널이 포커스되어 있을 때 작동합니다 — 에디터에 의해 가로채이지 않습니다.
워크스페이스나 파일을 열면 터미널이 이미 실행 중인 경우에도 모든 세션이 자동으로 새 워크스페이스 루트로 cd합니다.
일시 중지 / 재개
장시간 실행되며 자세한 출력을 생성하는 프로세스의 경우, 세션을 종료하지 않고 VMark에서 기본 셸 프로세스를 일시 중지하여 CPU를 절약할 수 있습니다. 재개하면 프로세스가 중단된 지점부터 계속됩니다.
| 동작 | 방법 |
|---|---|
| 활성 세션 일시 중지 | 세션 탭 우클릭 → 일시 중지 |
| 일시 중지된 세션 재개 | 일시 중지된 탭 우클릭 → 재개 |
일시 중지 동안:
- 세션 탭에 흐릿한 표시기가 표시됩니다
- 셸은
SIGSTOP을 받습니다 (POSIX); OS가 프로세스의 스케줄링을 중단합니다 - 이미 터미널에 기록된 버퍼 출력은 화면에 보존되지만, 재개할 때까지 새 출력은 나타나지 않습니다
- 종료 / 지우기 / 재시작 컨트롤은 계속 사용 가능합니다
일시 중지/재개는 macOS/Linux 전용 기능입니다 — Windows의 프로세스 제어는 동등한 일시 중지 신호를 노출하지 않으므로 Windows 빌드에서는 메뉴 항목이 숨겨집니다.
설정
설정 → 터미널 을 열어 구성합니다:
| 설정 | 범위 | 기본값 | 플랫폼 |
|---|---|---|---|
| 글꼴 크기 | 10 – 24 px | 13 px | 모두 |
| 줄 높이 | 1.0 – 2.0 | 1.2 | 모두 |
| 선택 시 복사 | 켜기 / 끄기 | 끄기 | 모두 |
| Mac Option을 Meta로 | 켜기 / 끄기 | 끄기 | macOS |
변경 사항은 모든 열린 세션에 즉시 적용됩니다. Mac Option을 Meta로 는 통합 터미널에서 macOS Option 키를 Meta로 라우팅하여 emacs, tmux 및 유사한 도구가 Alt 접두사 단축키를 볼 수 있게 합니다.
지속성
터미널 패널 가시성과 높이는 핫 종료 재시작 후에도 저장되고 복원됩니다. 셸 프로세스 자체는 보존될 수 없습니다 — 재시작 시 각 세션에 대해 새 셸이 생성되고, 일시 중지된 세션은 프로세스 자체와 함께 SIGSTOP 상태도 잃게 됩니다.