한국어

단축키

gori의 단축키는 Hotkeys 편집기에서 재지정합니다. Preferences(Ctrl-,Editor & KeysHotkeys에서 )로 들어가거나, 커맨드 팔레트(Ctrl-P)의 **settings:hotkeys**로 바로 갈 수 있습니다. 에디터는 재지정 가능한 모든 동작을 발생 위치별(GLOBAL, HISTORY, REPEATER, FUZZER, INTERCEPT, …)로 묶어 나열합니다. 행을 고르고, 새 키를 누르면, 끝입니다.

Ctrl-,  → Editor & Keys → Hotkeys
Ctrl-P  → settings:hotkeys

키 예산 (새 단축키가 키를 얻는 방식)

맨 글자 키는 귀합니다. 새 동작은 키를 차지하기 전에 가격 등급을 정해야 합니다.

등급 가격 언제 예시
L0 구조적 Esc Enter Tab 화살표 Space(리더) 항상 포커스, 열기/닫기, READ/INS, space 메뉴
L1 루프 맨 글자 또는 스티키 패밀리(^R) 분당 여러 번 History j/k / y, Repeater 전송
L2 세션 호흡 Global 맨 글자(상한: c i s만) 세션당 여러 번 capture, intercept, scope 렌즈
L3 맥락적 Space 다음 니모닉 가끔, 패널 로컬 compare, mine, send-group, copy-as
L4 드묾 / 설정 팔레트(Ctrl-P) 전용 드묾 설정, Match & Replace, 알림

경험칙:

편집

에디터는 작업 복사본을 엽니다. Enter를 누르기 전에는 아무것도 저장되지 않으며, Esc는 모든 변경을 버립니다.

동작
/ (또는 j / k), 휠 선택 이동
e 또는 Space 선택한 동작 재지정, 그다음 새 키를 누릅니다
x 또는 Backspace 선택한 동작의 바인딩 해제
r 선택한 동작을 기본값으로 초기화
Shift-R 모든 동작을 기본값으로 초기화
/ OS 기본 프로파일 순환(아래 참고)
Enter 저장 + 적용(실시간, 재시작 없음)
Esc 버리고 닫기

재지정을 시작하면 푸터에 *"press a key to bind"*가 표시됩니다. 아래 예약된 키에 나열된 것들을 제외하고, 원하는 코드를 수정자와 함께 누르세요. 키가 예약되어 있거나 같은 위치의 다른 동작에서 이미 사용 중이면, 에디터는 이를 거부하고 이유를 알려줍니다. 캡처는 열린 채로 남아 다른 키를 시도할 수 있습니다.

바인딩된 것이 없으면 행의 코드에 (unbound)가 표시됩니다. 마커는 기본값에서 변경했음을 뜻하고, ·은 기본값 상태를 뜻합니다.

충돌

두 동작은 다른 위치에서 발생할 때만 키를 공유할 수 있습니다. 이는 의도된 동작입니다(s는 거의 모든 곳에서 "scope 렌즈"지만 Comparer 탭에서는 "swap", c는 Intercept 큐에서 catch 방향을 순환하는 것을 제외하면 어디서나 "toggle capture"). 에디터는 같은 위치의 충돌만 막습니다. 거기서는 키맵이 둘 중 하나만 남길 수 있기 때문입니다.

예약된 키

일부 키는 터미널이나 gori가 필요로 하므로 재지정할 수 없습니다.

Ctrl-S 같은 흐름 제어/시그널 코드는 예약되어 있지 않습니다. gori는 터미널을 raw 모드로 실행하므로 이들이 앱에 도달합니다(Repeater의 SNI 토글은 Ctrl-S로 제공됩니다).

OS 기본 프로파일

/ 프로파일 선택기는 새(재정의되지 않은) 바인딩이 어떤 기본 키 세트를 사용할지 고릅니다: auto(gori가 빌드된 플랫폼을 추적), macOS, Linux, Windows. 직접 지정한 재바인딩은 OS와 무관하게 항상 선택한 프로파일 위에 얹힙니다.

현재 OS별 기본값은 동일합니다. 터미널에서 Ctrl+글자 코드는 macOS, Linux, Windows 모두에서 애플리케이션에 도달하며, 정말 위험한 키는 위의 예약된 제어 문자들입니다(어디서나 차단됨). 프로파일 메커니즘은 실제 터미널별 충돌이 생겼을 때 디스패치를 건드리지 않고 바로잡을 수 있도록 마련해 둔 것입니다. 지금으로서는 auto가 모두에게 옳은 선택입니다.

저장 위치

~/.gori/settings.json(디렉터리는 $GORI_HOME으로 재정의)의 희소한 hotkeys 블록에 저장됩니다. 변경한 바인딩만 동작 id별 코드 라벨 목록으로 기록되며, 빈 목록은 명시적 바인딩 해제입니다.

{
  "hotkeys": {
    "os": "auto",
    "bindings": {
      "rules.edit": ["g"],
      "scope.edit": []
    }
  }
}

없는 동작은 프로파일 기본값을 사용합니다. 알 수 없는 id와 파싱 불가능한 코드는 로드할 때 무시되므로, 수동 편집이나 버전 차이가 있어도 무리 없이 동작합니다.

제약

다음 단계