VS Code, Sublime Text, Atom 등 화려한 GUI 에디터가 많은데 왜 하필 터미널 기반의 Vim을 배워야 할까요? 이 글에서는 실제 서버 작업 상황을 통해 Vim이 필요한 순간을 직접 체험해 봅니다.
이 글에서 할 것
- VS Code로는 해결할 수 없는 상황 이해하기
- Vim이 필요한 실제 시나리오 3가지 체험하기
- Vim 학습의 장기적 가치 파악하기
왜 이 도구가 필요한가
실습 1: 서버 접속 시나리오
당신은 회사에서 웹사이트 운영을 담당하고 있습니다. 갑자기 서버에 문제가 생겨 긴급하게 접속해야 하는 상황입니다.
Step 1: iTerm2 열기
Spotlight에서 iterm을 검색해 iTerm2를 엽니다.
Step 2: 원격 서버 접속
아래 터미널에서 SSH 명령으로 서버에 접속하는 과정을 확인해 보세요. 실제 서버 작업 환경과 동일합니다.
Ready. Press Replay to run the scripted session.
Step 3: 설정 파일 확인하기
서버에 접속 후 nginx 설정 디렉토리로 이동해 파일 목록을 확인합니다.
Ready. Press Replay to run the scripted session.
여기서 문제 발생!
이제 설정 파일을 수정해야 하는데, 서버에는 GUI 환경이 없습니다. VS Code 명령어를 실행하면 다음과 같이 오류가 발생합니다.
Ready. Press Replay to run the scripted session.
왜 이런 결과가 나올까요?
- 서버에는 GUI가 없습니다 - VS Code는 그래픽 인터페이스가 필요합니다
- 원격 GUI 실행은 느립니다 - X11 포워딩 등은 설정이 복잡하고 느림
- 보안상 제한 - 대부분의 서버는 터미널 접속만 허용합니다
실습 2: 사용 가능한 에디터 확인
서버에 어떤 에디터가 설치되어 있는지 확인해 봅시다. which 명령어로 실행 파일 경로를 찾을 수 있습니다.
Ready. Press Replay to run the scripted session.
왜 Vim이 표준일까요?
| 에디터 |
모든 서버에 설치 |
사용 편의성 |
기능 풍부함 |
| vi |
기본 설치 |
어려움 |
기본 기능만 |
| nano |
대부분 설치 |
쉬움 |
기능 제한적 |
| vim |
대부분 설치 |
학습 필요 |
매우 강력함 |
결론: Vim은 거의 모든 Linux/Unix 서버에 기본적으로 설치되어 있습니다.
실습 3: Vim이 필요한 순간 3가지
순간 1: 긴급 설정 파일 수정
서버에서 바로 Vim으로 설정 파일을 열어 수정할 수 있습니다. 수정 후 저장하고 나가면 웹사이트가 즉시 복구됩니다.
user@server:/etc/nginx$ sudo vim /etc/nginx/nginx.conf
Vim이 열리고 설정 파일을 수정할 수 있습니다. 수정 후 저장하고 나가면:
$ sudo nginx -t && sudo systemctl restart nginx
웹사이트가 다욐을 때 즉시 복구 가능하고, 매번 파일을 다운로드/수정/업로드할 필요 없이 현장에서 바로 문제를 해결할 수 있습니다.
순간 2: 대용량 로그 파일 분석
# 수 GB 로그 파일 실시간 분석
vim /var/log/nginx/access.log
Vim에서:
/error → error 검색
G → 파일 끝으로 (최신 로그)
?timeout → 역방향 검색
VS Code로는 불가능한 이유:
- 10GB 로그 파일을 VS Code로 열기 = 메모리 폭발
- Vim은 부분 로딩으로 순식간에 열림
순간 3: Git 커밋 메시지 작성
Git에서 커밋 명령만 실행하면 기본적으로 Vim 에디터가 열립니다.
Ready. Press Replay to run the scripted session.
Git 기본 에디터가 Vim으로 설정되어 있기 때문입니다. 커밋 메시지를 작성하려면 Vim 사용법을 알아야 합니다.
먼저 한 번 체험해 보기
VS Code vs Vim 비교
| 상황 |
VS Code |
Vim |
| 로컬 개발 |
최적 |
가능 |
| 서버 접속 |
불가 |
기본 |
| 대용량 파일 |
느림/불가 |
순식간 |
| 원격 편집 |
별도 설정 필요 |
바로 가능 |
| 메모리 사용 |
많음 |
적음 |
| 커스터마이징 |
확장 풍부 |
무한한 가능성 |
이 도구를 쓰면 달라지는 점
Vim의 장기적 가치
1) 어디서나 사용 가능
# Raspberry Pi
ssh [email protected]
vim script.py
# Docker 컨테이너
docker exec -it container_name vim config.yml
# AWS EC2
ssh -i key.pem [email protected]
vim app/settings.py
2) 평생 쓰는 도구
- vi는 1976년에 탄생 (50년 역사)
- Vim은 1991년에 탄생 (35년 역사)
- 앞으로도 계속 사용될 것이 확실함
3) 속도의 차원이 다름
키보드에서 손 떼지 않고 커서 이동, 텍스트 편집, 파일 저장, 검색/치환을 모두 할 수 있습니다.
실제 비교:
VS Code: "파일 열기" → 클릭 → 탐색 → 파일 선택 → 클릭 (5초)
Vim: :e filename + Enter (1초)
흔한 오해
- "Vim은 구식이다" → Vim은 지속적으로 업데이트되며, 현대적 기능(구문 강조, 플러그인, LSP 등)을 모두 지원합니다.
- "배우기 너무 어렵다" → 기본 기능만 익히면 즉시 사용 가능합니다. 고급 기능은 필요할 때마다 익히면 됩니다.
- "VS Code가 더 좋다" → 용도가 다릅니다. VS Code는 로컬 개발에, Vim은 서버/터미널 작업에 최적입니다. 둘 다 익히면 상황에 따라 선택할 수 있습니다.
이런 사람에게 특히 추천
- 서버/인프라 작업을 하는 개발자
- Docker, SSH를 자주 쓰는 사람
- 키보드에서 손을 떼지 않고 코딩하고 싶은 사람
- "한 번 배우면 평생 쓰는 도구"를 원하는 사람
한 번에 정리
| 질문 |
답변 |
| VS Code만으로 충분한가? |
서버 작업 시 불가능 |
| Vim을 꼭 배워야 하나? |
서버/인프라 작업 필수 |
| 어렵지 않은가? |
초기 학습곡선 있음, but worthwhile |
| 대안은 없는가? |
nano는 가능하지만 기능이 제한적 |
다음 편 안내
Vim이 왜 필요한지 이해하셨다면, 이제 직접 설치하고 처음 실행해 봅시다.
Vim 시리즈 2편: 설치하고 처음 실행하기에서는 Vim 설치 확인부터 파일 열기, 저장하고 종료하기까지 실제 명령어로 실습합니다.
실습 완료 체크리스트
💬 댓글
이 글에 대한 의견을 남겨주세요