Vim's Swan Song: Is It Time to :q!?
Vim의 마지막 인사일까요? 이제 :q!를 입력할 때일까요?
AI가 코드를 대신 작성하면서 Vim을 배울 이유가 줄었을까요? 글쓴이는 Vim의 강점이 타이핑 속도가 아니라 코드 탐색과 정밀한 편집에 있다고 봅니다. AI가 작성한 코드를 다듬는 일이 늘수록 Vim의 편집 방식은 여전히 쓸모가 있다고 주장합니다.
- 주제
AI 요약
AI 코딩 도구가 코드를 작성하는 시대에도 Vim을 배울 이유가 있을까요? 글쓴이는 Vim의 가치를 빠른 타이핑에서 찾지 않습니다. 코드를 읽고 이동하며 필요한 부분을 편집하는 방식에 있다고 설명합니다.
Vim의 강점은 편집 언어입니다
글쓴이는 프로그래밍에서 어려운 일은 코드를 입력하는 속도가 아니라 무엇을 입력할지 판단하는 일이라고 말합니다. Vim의 편집 명령은 커서를 움직이고 글자를 하나씩 지우는 대신, 원하는 작업을 짧게 표현합니다. ci"는 따옴표 안의 내용을 바꾸고, dap는 문단을 지우며, .은 직전 동작을 반복합니다. 이런 명령은 글자를 밀고 당기기보다 편집 의도를 표현하는 방식입니다.
코드를 새로 쓰는 시간만큼 기존 코드를 읽고, 위치를 찾고, 수정하는 일도 개발 업무에서 큰 비중을 차지합니다. 그래서 Vim의 강점은 타이핑보다 탐색과 편집에 있다고 글쓴이는 봅니다.
AI 시대에도 터미널은 남아 있습니다
Vim을 그만둬도 된다는 주장에는 일리가 있습니다. Vim을 익히려면 한동안 작업 속도가 느려지고, AI가 코드를 많이 작성하면 손으로 코드를 입력하는 능력의 보상도 줄어듭니다. AI 중심 편집기의 채팅 패널, 인라인 제안, diff 화면과 수락 버튼은 Vim의 모드 전환을 번거롭게 느끼게 할 수 있습니다. 프롬프트를 주로 쓰는 초보 개발자라면 hjkl을 익힐 필요를 느끼지 못할 수도 있습니다.
하지만 AI 코딩 도구가 개발자를 터미널에서 멀어지게 하기만 한 것은 아닙니다. Claude Code와 GitHub Copilot CLI처럼 명령줄에서 작동하는 도구가 있고, 서버에 SSH로 접속하거나 컨테이너 셸을 열어 설정 파일을 고칠 때는 Vim이나 vi가 기본 편집기인 환경도 있습니다. 글쓴이는 GitHub Copilot CLI 챌린지를 위해 Metal Birds Watch를 만들 때도 AI와 터미널에서 대화한 경험을 듭니다.
AI가 타이핑을 맡고, 개발자는 편집합니다
AI가 코드를 90%까지 작성해도 마지막 수정은 남습니다. 변수 이름을 바꾸고, 중복 블록을 지우고, 메서드를 옮기고, 한 칸 차이 오류를 고치는 일입니다. 글쓴이는 이런 작업을 타이핑이 아니라 편집으로 구분합니다. 개발자는 diff를 읽고 의심스러운 부분으로 이동해 사용처를 찾고 작은 수정을 이어갑니다. 이 과정은 Vim이 오래전부터 다뤄 온 탐색과 편집에 가깝습니다.
글쓴이는 Vim 프로그램 자체와 Vim식 편집을 나눠 봅니다. Vim을 주 편집기로 쓰지 않아도 VS Code의 확장, JetBrains IDE의 IdeaVim, Neovim, 브라우저 확장 Vimium에서 Vim의 움직임을 익힐 수 있습니다. AI 중심 편집기를 쓰면서도 Vim식 편집을 병행할 수 있다는 뜻입니다.
따라서 글쓴이는 Vim 자체가 모두에게 필수라고 주장하지 않습니다. 다만 AI가 타이핑을 줄이고 개발자의 역할이 코드를 다듬는 쪽으로 옮겨갈수록 Vim의 편집 동작은 더 유용해질 수 있다고 봅니다. 처음 배우는 사람도 타이핑을 빨리 하려는 목적보다 편집을 빠르게 하려는 목적으로 익히라고 권합니다.
dev.to 반응
- @luka_jaja_9b739f251449f1a — Vim을 얼마나 좋아하는지 알지만, 요즘 개발 도구에서는 Vim을 쓸 일이 별로 없어 보입니다.
- @georgekobaidze — 솔직히 조금 아쉽습니다. 그래도 Vim을 쓸 상황이 아직 있다고 믿습니다. 많지는 않지만요.
- @luka_jaja_9b739f251449f1a — 맞습니다. 예를 들면 Claude가 없는 여러 환경의 베어메탈 Linux 서버에서 설정 파일을 편집할 때 아주 유용합니다. 다만 그런 상황은 꽤 드뭅니다.
- @georgekobaidze — 언젠가 서버에 Claude가 기본으로 들어가는 날이 올지 궁금합니다 😂
- @mikachu — 웃지 마세요. 저는 드디어 nano와 Ctrl+O, Ctrl+X에 익숙해지고 있습니다 ㅋㅋ!
- @georgekobaidze — 저도 빠른 편집에는 nano와 vi/vim을 쓰니 웃을 일은 아닙니다. 예를 들어 커밋 내용을 직접 고치는 편이 Claude에게 메시지의 오타를 고쳐 달라고 4분 동안 부탁하는 것보다 훨씬 빠릅니다. 토큰도 아낄 수 있고요.
- @pengeszikra — 제가 가장 좋아하는 편집기는 Vim입니다. 직장에서는 주로 터미널을 쓰고, GUI에는 Vim처럼 유용한 히스토리 기능이 없습니다. 작업한 내용을 찾을 수 있어서 Vim을 주로 빠른 읽기와 검색에 씁니다. 읽기 모드와 편집 모드를 나눌 수 있다는 점도 중요합니다. nano도 써 보지만 제게는 너무 복잡합니다.
- @georgekobaidze — 충분히 이해합니다. 무언가가 제2의 천성이 되면 그것 없이 사는 모습을 상상하기 어렵습니다. Vim과 nano도 적절히 쓰면 여전히 유용한 도구입니다.
원문: dev.to / 번역·요약: Trawling