표기법
학습 경로가 아니라 참고 문서다. 필요할 때 들어와 찾아보는 곳.
규칙표의 행을 산문·훈련 문서에서 어떻게 적는가를 정한다. 같은 표기를 rules_step.md·n390/training.md·training_cheatsheet.md가 각자 정의하다 갈라진 것을 여기로 모았다.
자모를 적는 방법(초성/종성 ~ 접두)도 여기가 SSOT 다 —
그쪽은 산문뿐 아니라 셀 값으로도 들어간다:
staging.md(Extensions/n3sh/layout/n390/staging.md) 의
h1·h2, 그리고 규칙표 txt
의 종성 낱자(~ㄲ·~ㄷ — ,
2026-08-06).
공통 표기
| 표기 | 뜻 | 예 |
|---|---|---|
c1c2 |
두 키 동시타 — 키 이름을
그대로
이어붙임(;·,·'·0 은
그 문자 그대로) |
kj = k+j 동시타 → ㄲ ·
j1 = j+1 → 잊 |
␣ |
스페이스바 (누르는 키 자리에 올 때) | c␣ = c+스페이스바 → ㅞ |
· |
타건 단위 구분 — 여러 트리거를 이어 문장을 만들 때 | j1·k2 = 잊 → 겠 |
→ |
트리거 → 실제 출력 | kj→ㄲ |
` |
fSnippet 백틱 트리거 — 로마자 시퀀스를 순차 타건 후 백틱 | n` = 습니다.␣
(fsnippet-한글속기.md(Extensions/n3sh/_doc/n390/fsnippet-한글속기.md)) |
| ⟨ ⟩ | 속기 규칙 없음 — 평타로 침 | ⟨괜⟩·op = 괜찮 |
| ⌥·⇧·⌘ | Option·Shift·Command 키 자체를 가리킬 때 | "⌥ 조합 없이 두 키만" |
~ㄱ |
종성(받침) 자음 — 접두가 없으면 초성·중성 (아래 절) | kj → 초성 ㄲ ·
1w → ~ㄲ |
- ⚠️ 동시타와 순차 타건은 다르다 —
n'(서)는 n+' 을 같이,n'`(세요.␣)는 n → ' 를 순서대로 친 뒤 백틱
자모 — 초성·중성·종성
세벌식은 같은 자음이 초성과 종성 양쪽에 있어, 글자만 적으면
어느 자리인지 알 수 없다. 실제로 390 규칙표에는 출력이
ㄲ 인 행이 둘 있다 —
kj(초성)와 1w(종성).
| 자리 | 표기 | 해당 키 (390) |
|---|---|---|
| 초성 | 접두 없음 | 오른손 — y u i o p ·
h j k l ; ' · n m · 0 |
| 중성 | 접두 없음 | r t · d f g ·
c v b · e · 4 등 |
| 종성 | ~ 접두 |
1 2 3 · q w ·
a s · z x |
- 초성과 중성은 자음이냐 모음이냐로 이미 갈리므로 접두를 쓰지 않는다. 접두가 필요한 것은 자음의 초성↔︎종성 구분뿐이다
- ✅ 이 표기는 규칙표
txt에서 실제로 동작한다(2026-08-06). 그 전까지 두ㄲ행은 글자가 같아 생성기가 키를 정하지 못했고, 오라클 literal(억지=✔)로 덮어 산출했다.1w행을~ㄲ로 적자 심볼이jong ㄲ(1+shift)와lit ㄲ(초성k k)로 갈려 그 예외가 사라졌다 — 표현으로 푼 것이다 - 자리는 누르는 키가 정한다. 위 목록은
keymap_390.json(
Extensions/n3sh/core/keymap_390.json) 의cho·jung·jong에서 나온 것이다(keymap.md)
어디에 쓰고 어디에 쓰지 않는가
| 자리 | ~ |
이유 |
|---|---|---|
staging 의 h1·h2
컬럼 |
✅ 쓴다 | 그 셀이 곧 자모 표기다. JSON 에도
"~ㅂ" 로 그대로 저장된다 |
| 산문·훈련 문서 서술 | ✅ 쓴다 | 초성 ㄲ 과 종성 ㄲ 을 가려야 한다 |
rules 의 txt 컬럼 |
❌ 쓰지 않는다 | 실제로 출력되는
문자열이다. ~ 를 넣으면 ~ㄲ 가 그대로
찍힌다 |
c1·c2 컬럼 |
❌ 해당 없음 | 누르는 키 이름이지 자모가 아니다 |
- 그래서
txt가ㄲ인 두 행은 표 안에서c1·c2로만 구분된다(k+j= 초성 ·1+w= 종성). 문서에서 그 행을 지칭할 때는~ㄲ로 적는다
초성 · 종성 구분 — ~
접두
세벌식은 초성 ㄱ 과 종성 ㄱ 을 다른 글쇠에 두므로,
자모를 적을 때 둘을 구별해야 한다. 종성에만 ~ 를
접두하고 초성은 맨 자음으로 둔다.
| 표기 | 뜻 | 실제 사용처 |
|---|---|---|
ㅊ |
초성 ㅊ | n390/staging.md(Extensions/n3sh/layout/n390/staging.md)
h1·h2 |
~ㅂ |
종성 ㅂ | 같은 곳 (390 15건 · 최종식 2건) |
- 값의 일부다 — JSON 에도
"h1": "~ㅎ"로 그대로 저장된다.—·␣같은 왕복 마커가 아니다 - 산문에서는
~대신 "종성 ㅂ" 처럼 낱말로 적어도 된다. 같은 표의DESC열이 이미 그렇게 쓴다(종성 ㅂ + ㄹ)
🚨
~X~Y 로 붙여 쓰지 말 것 (pandoc 아래첨자)
틸드 2개가 공백 없이 한 텍스트 런에 오면 pandoc 기본
markdown 리더가 아래첨자로 먹는다. 실측:
| 입력 | pandoc markdown |
pandoc gfm ·
micromark(GFM) |
|---|---|---|
~ㅎ |
~ㅎ (안전) |
~ㅎ (안전) |
~ㅂ~ㄹ |
🚨
<sub>ㅂ</sub>ㄹ |
~ㅂ~ㄹ (안전) |
- GFM 취소선은
~~두 개라 단일~는 GFM 계열(GitHub·VSCode 미리보기·micromark)에서 전부 안전하다. 위험은 pandoc 경로(md2pdf·슬라이드 변환) 하나뿐이다 - 규약: 표 셀은 1셀 1자모(현행 그대로), 산문은
~ㅂ + ~ㄹ처럼 띄운다 - 현재 위반 0건 — 17건 모두 셀이 갈려 있고 산문 사용도 없다
왜 ~ 인가 (다른
기호를 안 쓴 이유)
초성/종성을 구별하는 표준 접두 기호는 존재하지
않는다. 유니코드는 아예 별도 코드포인트로
가르고(초성 ㄱ ᄀ U+1100 / 종성 ㄱ ᆨ U+11A8,
유형 약칭 L·V·T), 한국어 자판 문헌은 기호 없이
"받침 ㄱ"·"끝소리 ㄱ" 낱말로 적는다. 그래서
~ 는 자체 고안이며, 검토한 대안은 전부 이 프로젝트에서 더
비쌌다.
| 대안 | 기각 사유 |
|---|---|
-ㄱ |
❌ - 가 이미 2중 점유 —
모디파이어 미사용 표시(⌥·⇧·⌘ 열
140행) + 하이픈 키(c2 값, ex:
j+- → 읽) |
ᆨ (U+11A8) |
❌ 조합용 자모라 단독 표시 시 폭 0 또는 점원(◌ᆨ)이 붙어 표가 깨진다 |
Tㄱ (L/V/T) |
유니코드 근거는 가장 강하나 한글 표에 라틴 문자가 섞인다 |
받침ㄱ |
안전하고 자명하지만 셀 폭이 2자 늘고, 이미
DESC 가 그 역할을 한다 |
즉 ~ 는 비용이 가장 싼 선택이지 표준이
아니다. 근거: Unicode FAQ —
Korean · 세벌식
자판의 종류
모디파이어 — 두 표기는 같은 뜻
문서 성격에 따라 후치와 전치를 각각 쓴다. 통일하지 않는다.
⚠️ 표기 순서 ≠ 타건 순서. 어느 표기를 쓰든 모디파이어를 먼저 누르고 있어야 한다 — 자모를 친 뒤에 ⌥·⇧·⌘ 를 누르면 그 규칙은 발동하지 않는다(무수식 행이 나가거나 아무것도 안 나간다). Karabiner 는 키가 눌리는 순간의 모디파이어 상태로
from을 판정하므로, 그때 이미 늦다.후치 표기(
u␣+⌥)는 트리거를 먼저 보여주려는 것이지 나중에 누르라는 뜻이 아니다. 이 오해가 실제로 났다(2026-08-12 사용자 지적 —던(u␣+⌥)). 헷갈리면 전치 표기를 읽는 순서대로 누르면 된다.⚠️ 이것은 자모 2키의 순서 무관(공통 표기
c1c2)과 다른 축이다 —c1·c2는 서로 순서가 없지만, 모디파이어는 그 둘보다 앞서 있어야 한다.
| 후치 | 전치 | 뜻 |
|---|---|---|
k;+⌘ |
⌘k; |
⌘ 를 누른 채 k+; → 까 |
k␣+⇧ |
⇧k␣ |
⇧ 를 누른 채 k+스페이스바 → 께 |
f.+⇧⌘ |
⇧⌘f. |
⇧+⌘ 를 누른 채 f+. → 아! |
- 모디파이어는 언제나 키캡 기호로 적는다 — ⌥·⇧·⌘.
{cmd}·{shift}·{opt}같은 중괄호 토큰을 쓰지 않는다(2026-08-12 사용자 지시로 74건 전량 전환). 이 문서들은 공개된다 — 읽는 사람이 자기 키보드에서 찾을 기호를 그대로 보여주는 편이 낫고, 중괄호는 코드 자리표시자처럼 보인다. 도구·스크립트 내부에서 문자열로 다루는 것은 이 규약 밖이다 - 왜 통일하지 않는가: 시퀀스
예문(
j1·⌘;o·13·k2·n`)에서는 전치가·구분과 겹치지 않아 토큰 경계를 잡아 준다 — 기호는 한글·라틴 어느 쪽과도 시각적으로 갈려 경계가 오히려 또렷하다. 단건 나열(k;+⌘ = 까)에서는 후치가 트리거를 먼저 보여줘 읽기 쉽다. 한쪽으로 강제하면 반대쪽이 반드시 나빠진다 - 단, 한 문서 안에서는 한 표기만 쓴다. 혼용은 규약 위반이다. 문서별 채택은 아래 표 참조
+는 두 자리에서 쓰인다 — 모디파이어 결합(k;+⌘)과 자모 결합(~ㅂ+~ㄹ). 뒤에 오는 것이 ⌥·⇧·⌘ 이면 모디파이어다
문서별 채택
| 문서 | 모디파이어 | 비고 |
|---|---|---|
| rules_step.md | 후치 k;+⌘ |
단계 설계 — 단계별 단건 나열 |
| n390/training.md | 전치 ⌘k; |
· 로 잇는 문장 예문 다수 |
| training_cheatsheet.md | 전치 ⌘k; |
training.md 의 한 장 요약이라 표기를 승계 |
여기서 정의하지 않는 것
아래는 다른 문서가 SSOT 다. 본 문서에 사본을 두지 않는다.
| 항목 | SSOT |
|---|---|
md 셀 —·␣ ↔︎ JSON
""·" "·_ 왕복 규약 |
data-md-first-rules.md(.claude/rules/data-md-first-rules.md)
"셀 표기" |
무수식=. / ⇧=? /
⇧⌘=! 분기 (390 ↔︎ 최종식 반대) |
n390/rules_notes.md 규칙3 |
| 품사 컬럼 값·확실성 등급 | rules_Intersection.md(Extensions/n3sh/layout/rules_Intersection.md)
"품사 컬럼 값" |
| 규칙표 컬럼 구성 | n390/rules.md
·
final/rules.md(Extensions/n3sh/layout/final/rules.md) |