Warp, 터미널을 다시 읽을 수 있는 블록으로 나눈다
요약
명령과 그 출력을 한 블록에 담아 두는 터미널. 블록은 접고 복사하고 그대로 다시 실행할 수 있다. 자동 완성은 줄의 문맥을 읽고, 입력은 편집기에서 글자를 고르는 감각에 가깝고, 화면은 GPU가 그린다. macOS와 Linux에서 돈다.
추천- 이름
- Warp
- 버전
- 20260430
- 요금
- 유료
- 오픈소스
- 비오픈소스
- 운영체제
- macOSLinux
- 공식 사이트
- https://warp.dev/
- 업데이트
- 2026-10-16 22:00
터미널은 가장 늦게 다시 설계되는 도구다
편집기는 몇 해마다 다시 만들어지고, 브라우저도 다시 만들어지고, 빌드 체계도 다시 만들어진다. 그동안 터미널은 언제나 있던 자리에 앉아 있다. 화면에서 가장 오래된 창이고, 처음 로그인할 때 열린 뒤로 거의 다시 생각되지 않았다. 고칠 것이 없어서가 아니다. 한 줄씩 흘러 내려가는 글자의 완충이 너무 당연해져서, 이제 거의 아무도 그것을 설계상의 결정으로 보지 않고 터미널이 원래 그런 모양이라고 여기기 때문이다. 여기서는 그 전제의 반대편에서 시작한다. 완충은 결정이고, 이미 사라진 기계를 위해 수십 년 전에 내려진 결정이므로, 다시 내릴 수 있다.
명령 하나, 블록 하나, 붙여 둔다
첫 차이는 겉모습이 아니라 구조에 있다. 명령과 결과가 섞여 글의 벽이 되는 하나의 흐름 대신, 명령과 그것이 낸 출력을 한 블록으로 묶어 둔다. 블록은 한 줄로 접을 수 있고, 통째로 복사할 수 있고, 따로 다시 실행할 수 있다. 작업 기록을 거슬러 올라가는 일은 끝없이 위로 굴리며 안내 기호를 들여다보고 어디서 앞의 일이 끝나고 다음이 시작했는지 찾는 일이 아니라, 블록 사이를 뛰는 일이 된다. 시끄러운 빌드 기록을 십 분쯤 올려 보며 실패가 시작된 줄을 찾아본 사람이라면 이것이 얼마짜리인지 알고, 그 답이 더 예쁜 글꼴이 아니라는 것도 안다.

자동 완성은 줄을 읽는다, 앞 몇 글자가 아니라
예전 방식의 자동 완성은 치던 몇 글자를 이름 목록과 맞춰 본다. 무엇이 있는지는 알지만 무엇을 하려는지는 모른다. 여기서는 제안이 줄 전체의 문맥에서 나오므로, 절반쯤 친 명령을 이미 준 인자에 맞는 형태로 마저 채울 수 있고, 낯선 명령은 늘려 주는 데 그치지 않고 설명도 된다. 효과가 가장 큰 쪽은 환경을 아직 배우는 중인 사람이다. 어떤 도구가 있다는 사실과 그것을 어떻게 부르는지 아는 사이의 거리가, 매번 설명 자료를 찾는 비용이 아니게 된다. 기록 검색도 같은 방식이다. 화살표 키를 마흔 번 누르는 대신, 지난 작업을 낱말로 가로질러 찾는다.
명령을 코드처럼 고친다
전통적인 안내 기호 뒤에서 타이핑하는 일은 본질적으로 한 줄짜리 작업이다. 커서는 끝에 있고, 고치고 싶은 곳까지 걸어 돌아가야 한다. 여기서는 명령 줄이 뒤에 편집기를 둔 글자 칸으로 다뤄지므로, 범위 선택도, 여러 커서도, 익숙한 키 조합도 이미 친 내용 위에서 작동한다. 하루 종일 현대적인 코드 편집기에 있는 사람에게는 작지만 끊이지 않던 마찰이 하나 사라진다. 어느 창이 입력을 받고 있느냐에 따라 두 손이 두 벌의 습관을 오가지 않아도 된다. 결과도 같다. 긴 출력은 어딘가로 복사한 뒤가 아니라 블록 안에서 그대로 보고, 그대로 손을 댈 수 있다.

명령을 팀이 남길 수 있는 것으로
가장 멀리 닿는 부분이다. 자주 쓰는 명령, 작은 스크립트, 나아가 한 줄기 절차까지 이름을 붙여 나눌 수 있는 항목으로 저장하고 팀 안에서 건넬 수 있다. 그래서 돌아가는 순서는 한 번 쓰고 다시 쓰면 되고, 필요한 사람마다 기억에서 다시 짜 맞출 일이 없다. 진짜 결과는 편리함이 아니라 기억 쪽에 있다. 팀이 배운 것을 담아 두는 터미널은 더 이상 개인적인 도구가 아니고, 원래는 누군가 한 사람의 셸 기록에 살던 지식이 집단의 것이 된다. 새 동료를 맞는 풍경도 달라진다. 표준 절차가 이미 거기 있고, 말로 적혀 있고, 실제로 실행될 자리에 놓여 있다.
아래는 Rust, 그리기는 GPU
손맛의 상당 부분은 구현의 두 가지 선택으로 설명된다. 응용은 Rust로 쓰였다. 업계에서 속도와 메모리 안전 때문에 고르는 언어이고, 여기서 그것이 중요하다. 터미널의 일은 다른 무엇이 출력으로 밀려들 때도 반응을 지키는 것이기 때문이다. 화면은 GPU로 그리므로, 굴리기와 다시 그리기와 빽빽한 내용 배치를 바로 그 일을 위해 만들어진 하드웨어가 맡는다. 프로세서에 화면을 다시 칠해 달라고 부탁하는 터미널과는 길이 다르다. 조용한 작업 중에는 차이가 보이지 않는다. 시험 묶음이 수천 줄을 쏟아 낼 때, 또는 거르개 없는 기록을 열어 화면이 따라가야 할 때 차이는 분명해진다.
그래도 이것이 요구하는 것
어느 것도 공짜로 오지 않는다. 지원하는 범위는 수십 년 동안 각종 유닉스와 함께 배포된 터미널보다 좁다. macOS와 Linux가 딛는 땅이고, 다른 계열을 넘나들며 일하는 사람은 하루의 습관을 이쪽으로 옮기기 전에 확인하는 편이 좋다. 세세하게 손본 셸 환경이 두 번째로 마찰이 드러나는 자리다. 어떤 안내 틀을 중심으로 여러 해 쌓은 설정은 그대로 넘어오지 않을 수 있다. 세 번째 값은 가장 보이지 않고 가장 현실적이다. 주고받는 방식이 충분히 달라서, 오래 터미널을 써 온 사람은 더 이상 맞지 않는 습관으로 손이 뻗지 않게 되기까지 며칠이 걸린다. 이것을 단점으로 세는 것은 묘하지만, 없는 일로 만드는 것은 정직하지 않다.
그 맞바꿈이 값어치가 있는가
터미널은 개발자의 기계에서 거의 무엇보다 자주 쓰이고, 무엇보다 다시 생각되지 않는다. 이 조합이 다시 설계하는 일을 장식으로 치우지 않고 그 나름의 이유로 따져 볼 만한 것으로 만든다. 구조를 가진 블록, 문맥을 읽는 자동 완성, 편집기 수준의 글자 처리, 그리고 팀이 나눠 쓰는 절차의 자리는 각각, 지금은 위로 굴리고, 설명 자료를 찾고, 그 스크립트를 쓴 사람에게 물어서 푸는 문제를 푼다. 익숙한 셸과 몇 개의 명령 안에서만 사는 사람은 얻는 것이 적고 동작을 다시 배우는 일이 성가실 수 있다. 긴 출력을 읽고, 같은 절차를 다른 사람과 나누고, 또는 이제 막 명령 줄을 배우는 사람이라면 첫 오후에 차이를 알아차린다. 정직하게 줄이면, 이것은 모두가 이미 가진 터미널의 더 나은 판이 아니다. 터미널에 손을 댈 때가 되었다는 주장이고, 그 주장은 자기 일주일의 작업에 견줘 볼 만큼 강하다.