코드를 짜다가 파일 하나를 열려고 마우스를 잡습니다. 사이드바 트리를 펼치고, 폴더를 두어 번 접었다 폈다가, 겨우 찾아서 더블클릭합니다. 여기까지 대략 6초입니다. 하루에 이 동작을 60번 하면 6분이고, 근무일 20일 기준으로 한 달이면 두 시간입니다. 파일 열기 하나에서만 그렇습니다. 개발자 단축키를 익히는 건 손가락 자랑을 하려는 게 아니라 이렇게 조용히 새는 시간을 막는 일입니다. 이번 글에서는 VS Code와 터미널, 운영체제 레벨에서 실제로 체감되는 것만 골라 정리하고, 필요한 단축키를 직접 만드는 방법까지 다룹니다.
어떤 단축키부터 외워야 할까
단축키 목록 100개를 받아서 전부 외우려다 실패해 본 적이 있을 겁니다. 순서를 뒤집는 편이 낫습니다. 외울 것을 남이 정해주는 게 아니라, 내가 마우스를 잡는 순간을 먼저 찾는 겁니다.
이틀만 관찰해 보세요. 손이 키보드를 떠날 때마다 무엇을 하려던 참이었는지 메모합니다. 대부분 다섯 개 안쪽으로 수렴합니다. 파일 열기, 검색, 터미널 열기, 창 전환, 그리고 아까 복사한 것 다시 꺼내기. 그 다섯 개만 바꿔도 체감이 확 달라지고, 나머지는 필요할 때 하나씩 붙이면 됩니다.
단축키는 외우는 게 아니라 손에 붙이는 것입니다. 하루에 하나씩, 사흘만 의식적으로 쓰면 그다음부터는 생각하지 않아도 손이 먼저 움직입니다.
VS Code에서 먼저 익힐 12개

편집기에서 쓰는 시간이 가장 길기 때문에 투자 대비 회수도 여기가 제일 빠릅니다. 아래 표는 기본값 기준이며, 맥에서는 대체로 Ctrl 자리에 Cmd가 들어간다고 보면 됩니다.
| 하는 일 | 윈도우 / 리눅스 | 맥 |
|---|---|---|
| 파일 빠른 열기 | Ctrl+P | Cmd+P |
| 명령 팔레트 | Ctrl+Shift+P | Cmd+Shift+P |
| 프로젝트 전체 검색 | Ctrl+Shift+F | Cmd+Shift+F |
| 같은 단어 하나씩 추가 선택 | Ctrl+D | Cmd+D |
| 같은 단어 전부 선택 | Ctrl+Shift+L | Cmd+Shift+L |
| 줄 위아래로 이동 | Alt+↑ / Alt+↓ | Option+↑ / Option+↓ |
| 줄 복제 | Shift+Alt+↓ | Shift+Option+↓ |
| 줄 삭제 | Ctrl+Shift+K | Cmd+Shift+K |
| 주석 토글 | Ctrl+/ | Cmd+/ |
| 정의로 이동 | F12 | F12 |
| 심볼 이름 일괄 변경 | F2 | F2 |
| 통합 터미널 토글 | Ctrl+` | Ctrl+` |
이 중 딱 두 개만 꼽으라면 Ctrl+P와 Ctrl+D입니다.
Ctrl+P는 파일 이름을 띄엄띄엄 쳐도 후보를 좁혀줍니다. usercont라고만 쳐도 user_controller.py가 잡힙니다. 여기 붙는 접두어까지 알아두면 활용 폭이 넓어집니다. @를 치면 현재 파일의 함수·클래스 목록으로, :을 치면 줄 번호 이동으로, >를 치면 명령 팔레트로 바뀝니다. 사실상 단축키 하나에 네 가지 기능이 들어 있는 셈입니다.
Ctrl+D는 커서가 놓인 단어와 같은 다음 단어를 선택에 추가합니다. 변수 이름 세 군데를 고칠 때 세 번 누르고 새 이름을 그냥 타이핑하면 끝납니다. 다만 파일 전체에서 이름을 바꾸는 작업이라면 F2가 더 안전합니다. F2는 단순 문자열이 아니라 심볼 단위로 인식하기 때문에, 주석이나 다른 변수에 우연히 같은 글자가 들어 있어도 건드리지 않습니다.
터미널에서 방향키를 그만 누르는 법
긴 명령을 치다가 앞쪽 오타를 발견하면 대개 왼쪽 방향키를 스무 번쯤 누릅니다. 그럴 필요가 없습니다. bash와 zsh는 readline 편집 키를 기본으로 지원해서, 아래 조합이 리눅스·맥·WSL·깃 배시에서 똑같이 동작합니다.
| 조합 | 하는 일 |
|---|---|
| Ctrl+A | 줄 맨 앞으로 이동 |
| Ctrl+E | 줄 맨 끝으로 이동 |
| Ctrl+W | 커서 앞 단어 하나 삭제 |
| Ctrl+U | 커서 앞을 전부 삭제 |
| Ctrl+K | 커서 뒤를 전부 삭제 |
| Ctrl+R | 명령 히스토리 역방향 검색 |
| Ctrl+L | 화면 지우기 (clear와 동일) |
| Ctrl+C | 입력하던 줄을 버리고 새 줄로 |
이 중 쓸모가 가장 큰 건 Ctrl+R입니다. 누른 다음 기억나는 조각만 치면 됩니다. docker라고만 쳐도 그 단어가 들어간 최근 명령을 거슬러 올라가며 찾아줍니다. 원하는 게 나올 때까지 Ctrl+R을 반복해 누르고, 엔터로 실행하거나 방향키로 빠져나와 일부만 고쳐서 쓸 수 있습니다. 위쪽 방향키로 히스토리를 서른 번 넘기던 습관이 사라집니다.
윈도우 PowerShell은 readline이 아니라 PSReadLine을 쓰기 때문에 일부가 다릅니다. Ctrl+R 히스토리 검색은 동일하게 동작하지만 Ctrl+A는 전체 선택이므로, 줄 맨 앞으로 갈 때는 Home 키를 쓰세요.
운영체제 레벨에서 시간이 새는 곳
편집기 밖에서도 반복되는 동작이 있습니다. 특히 클립보드 기록은 한 번 쓰기 시작하면 없던 시절로 돌아가기 어렵습니다.
| 하는 일 | 윈도우 | 맥 |
|---|---|---|
| 앱·창 전환 | Alt+Tab | Cmd+Tab |
| 검색으로 앱 실행 | Win 키 누르고 이름 입력 | Cmd+Space |
| 화면 영역 캡처 | Win+Shift+S | Cmd+Shift+4 |
| 클립보드 기록 열기 | Win+V | 기본 기능 없음 |
| 창을 화면 절반에 붙이기 | Win+← / Win+→ | 기본 기능 없음 |
| 가상 데스크톱 이동 | Ctrl+Win+← / → | Ctrl+← / Ctrl+→ |
| 화면 잠금 | Win+L | Ctrl+Cmd+Q |
Win+V는 처음 누르면 켜기 버튼이 먼저 나옵니다. 한 번 켜두면 그 뒤로 복사한 항목이 최대 25개까지 쌓이고, 목록에서 골라 붙여넣을 수 있습니다. 값 세 개를 번갈아 붙여넣어야 하는 작업에서 창을 오가는 횟수가 눈에 띄게 줄어듭니다. 맥에는 같은 기능이 기본 탑재되어 있지 않아서 Maccy 같은 오픈소스 클립보드 관리자를 따로 설치하는 경우가 많습니다.
없는 단축키는 직접 만든다
필요한 동작에 단축키가 없거나, 기본 조합이 손에 안 맞을 수 있습니다. VS Code는 명령 팔레트에서 Preferences: Open Keyboard Shortcuts (JSON)을 실행하면 keybindings.json이 열리고, 여기에 직접 적으면 됩니다.
[
{
"key": "ctrl+alt+t",
"command": "workbench.action.tasks.runTask"
},
{
"key": "ctrl+alt+d",
"command": "editor.action.copyLinesDownAction",
"when": "editorTextFocus"
},
{
"key": "ctrl+alt+left",
"command": "workbench.action.navigateBack"
}
]
when은 그 단축키가 살아나는 조건입니다. editorTextFocus를 붙이면 편집기에 커서가 있을 때만 동작하고, 터미널이나 검색창에 포커스가 있을 때는 원래 기능이 그대로 유지됩니다. 조건 없이 덮어쓰면 엉뚱한 곳에서 충돌하니 되도록 붙이는 편이 좋습니다.
이미 쓰이는 조합인지는 키보드 단축키 화면(Ctrl+K에 이어 Ctrl+S)에서 확인할 수 있습니다. 검색창 오른쪽의 키 입력 버튼을 누르고 실제로 조합을 눌러보면 그 키에 걸린 명령이 전부 나옵니다.
단축키가 꼭 키보드 조합만 뜻하는 것도 아닙니다. 매일 수십 번 치는 명령을 두세 글자로 줄이는 것도 같은 효과입니다.
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.lg "log --oneline --graph --decorate -20"
git config --global alias.last "log -1 HEAD --stat"
이제 git st, git lg로 씁니다. git lg는 최근 커밋 20개를 한 줄씩 그래프로 보여줘서 브랜치가 어디서 갈라졌는지 한눈에 들어옵니다. 이 설정은 홈 디렉터리의 .gitconfig에 저장되므로, 새 컴퓨터에서는 그 파일 하나만 복사하면 환경이 그대로 따라옵니다.
어디서나 동작하는 전역 단축키
프로그램을 가리지 않고 동작하는 단축키가 필요하다면 윈도우에서는 AutoHotkey가 가장 손쉽습니다. 무료이고, 확장자가 .ahk인 파일에 몇 줄만 적으면 됩니다. 아래는 v2 문법 기준입니다.
#Requires AutoHotkey v2.0
; Win+Alt+D : 오늘 날짜를 2026-08-17 형식으로 입력
#!d:: {
SendText FormatTime(A_Now, "yyyy-MM-dd")
}
; Win+Alt+T : 현재 창 제목을 클립보드에 복사
#!t:: {
A_Clipboard := WinGetTitle("A")
TrayTip("창 제목을 클립보드에 복사했습니다")
}
#은 윈도우 키, !는 Alt, ^는 Ctrl, +는 Shift를 뜻합니다. 파일을 저장하고 더블클릭하면 트레이에 상주하면서 단축키가 활성화됩니다. 시작 프로그램 폴더(Win+R을 눌러 shell:startup 입력)에 바로가기를 넣어두면 부팅할 때마다 자동으로 켜집니다.
맥에는 AutoHotkey가 없지만 기본 제공되는 단축어 앱이나 Karabiner-Elements로 비슷한 일을 할 수 있습니다. 그보다 먼저 손볼 값이 하나 있는데, 키를 누르고 있을 때 반복이 시작되는 속도입니다. 시스템 설정의 슬라이더 최댓값보다 더 빠르게 만들 수 있습니다.
# 키 반복이 시작되기까지의 대기 시간을 줄입니다
defaults write -g InitialKeyRepeat -int 15
# 반복되는 간격 자체를 짧게 합니다
defaults write -g KeyRepeat -int 2
두 값은 각각 반복이 시작되기까지의 대기와 반복 간격이고, 단위는 약 15밀리초입니다. 로그아웃 후 다시 로그인해야 적용됩니다. 원래대로 돌리려면 defaults delete -g KeyRepeat처럼 지우면 됩니다.
주의할 점
- 새로 정의하기 전에 그 조합이 이미 쓰이는지 확인하세요. 윈도우의
Ctrl+Alt+Delete나Win+L처럼 운영체제가 선점한 조합은 응용 프로그램이 가로챌 수 없습니다. - AutoHotkey는 키 입력을 가로채는 방식이라 일부 게임의 안티치트나 보안 프로그램이 이를 차단하거나 경고할 수 있습니다. 보안 정책이 걸린 업무용 PC라면 먼저 확인하세요.
keybindings.json을 고치기 전에 파일을 복사해 두세요. 조합이 꼬여 원인을 못 찾을 때 되돌리는 가장 빠른 방법입니다.- 팀에서 페어 프로그래밍을 한다면 기본 단축키를 너무 많이 바꾸지 않는 편이 낫습니다. 남의 자리에 앉는 순간 손이 완전히 멎습니다.
- 한글 입력 상태에서 단축키가 반응하지 않는다면 영문으로 전환한 뒤 다시 눌러보세요. 입력기가 키를 먼저 가져가는 경우가 있습니다.
마무리
전부 한꺼번에 적용하려 하면 사흘 뒤에 하나도 안 남습니다. 오늘은 Ctrl+P 하나만 정하세요. 파일을 열려고 마우스에 손이 가는 순간마다 의식적으로 손을 떼고 그 조합을 누르는 겁니다. 사흘이면 붙습니다. 그다음에 Ctrl+R, 그다음에 Win+V 순으로 하나씩 늘려가면 됩니다.
다음 글에서는 AI로 블로그 초안을 작성한 뒤 사람이 직접 다듬는 워크플로우를 정리해 보겠습니다. 초안을 어디까지 맡기고 어디서부터 손대야 결과물이 읽을 만해지는지가 핵심입니다.