0001. 분할 pane 이동 단축키는 Ctrl+Shift+방향키, 에디터 포커스에서는 원래 동작 유지
This content is not available in your language yet.
- 상태: 채택
- 날짜: 2026-09-19
- 관련: command.md
화면을 여러 pane으로 나눴을 때 마우스 없이 방향키로 인접 pane으로 이동하고 싶다는 요청이 있었다. 방향키 기반 단축키는 후보가 뭐든 터미널(bash readline)이나 에디터(CodeMirror)에 이미 걸려 있는 기본 동작과 겹친다.
@codemirror/commands의 기본 keymap을 소스(node_modules/@codemirror/commands/dist/index.js)로 직접 확인한 결과는 이렇다.
- Windows/Linux:
Ctrl+←/→= 단어 단위 커서 이동(Shift를 더하면 단어 단위 선택),Ctrl+↑/↓은 바인딩이 아예 없다. - macOS:
Cmd+←/→= 줄 시작·끝으로 이동(Shift를 더하면 줄 경계까지 선택),Cmd+↑/↓= 문서 처음·끝으로 이동(Shift를 더하면 문서 경계까지 선택). 네 방향 모두 걸려 있다. - 터미널(bash readline)은
Ctrl+←/→에 단어 단위 이동이 기본으로 걸려 있다. Ctrl+Alt+방향키는 VS Code의 “커서 여러 줄 추가”(멀티커서, 여러 줄을 한 번에 편집해 탭을 맞추는 등에 자주 씀) 기본 단축키와 겹친다. macOS에서는 같은 기능이Cmd+Option+방향키에 걸려 있다.
pane 이동은 Ctrl+Shift+방향키(macOS Cmd+Shift+방향키)로 한다. 다만 에디터(CodeMirror)에 포커스가 있을 때는 이 단축키를 가로채지 않고 CodeMirror의 원래 동작(선택 확장)을 그대로 둔다. 그 외 영역(터미널, 사이드바 등)에서만 pane 이동으로 동작한다.
근거 / 검토한 대안
섹션 제목: “근거 / 검토한 대안”- Ctrl+방향키: 터미널·에디터 양쪽에서 이미 단어 단위 커서 이동에 쓰고 있어 제외했다.
- Ctrl+Alt+방향키: 터미널엔 충돌이 없지만, VS Code의 멀티커서 삽입에 익숙한 손 습관과 부딪힐 여지가 커서 제외했다.
- Ctrl+Shift+방향키를 에디터에서도 항상 pane 이동으로 가로채기(
Ctrl+G가 “다음 찾기”를 가로채는 것과 같은 방식): 검토했으나, 이 조합이 에디터에서 담당하는 기능이 macOS에서는 네 방향 모두, Windows에서도 좌우 방향은 실제로 자주 쓰는 선택 기능이라 잃는 비용이 크다고 판단해 기각했다.Ctrl+G가 대체하는 “다음 찾기”보다 사용 빈도가 높다고 봤다. - 채택안: 터미널·에디터 어느 쪽 기존 기능도 깨지 않는 유일한 조합이다.
- 에디터에 커서가 있는 동안은
Ctrl+Shift+방향키로 pane을 옮길 수 없다. 마우스로 클릭하거나 포커스를 먼저 다른 곳으로 옮겨야 한다. - 구현은
src/renderer/src/workspace/paneLayout.ts의findPaneInDirection과src/renderer/src/App.tsx의 전역 keydown 핸들러에 있다.