공부/Infra
nano, vim, vi
sesam
2025. 2. 4. 14:30
728x90
nano, vim, vi는 모두 Linux/Unix 환경에서 사용하는 텍스트 편집기입니다. 각 편집기의 특징과 차이점을 정리해 드리겠습니다.
🔹 1. nano
nano filename
✅ 특징:
- 가장 간단한 텍스트 편집기
- 초보자 친화적 (GUI 느낌이 있음)
- 하단에 단축키 안내가 표시됨
- 단축키 기반 (마우스 사용 가능)
- 모드 없음 (즉시 입력 가능)
🔹 주요 단축키:
기능단축키
저장 (Write Out) | Ctrl + O |
종료 (Exit) | Ctrl + X |
잘라내기 | Ctrl + K |
붙여넣기 | Ctrl + U |
검색 | Ctrl + W |
🔹 언제 사용하면 좋을까?
- Vim이나 Vi가 너무 복잡할 때
- 빠르게 파일을 수정해야 할 때
- 초보자나 GUI 환경에 익숙한 사용자를 위한 편집기
🔹 2. vi
vi filename
✅ 특징:
- Unix 시스템에서 가장 오래된 기본 편집기
- 모드 기반 편집기 (명령 모드, 입력 모드)
- nano보다 기능이 강력하지만 사용법이 복잡함
🔹 모드:
모드 | 설명 |
명령 모드 | 기본 모드, 파일 탐색 및 명령 입력 |
입력 모드 | 텍스트 입력 가능 (i 또는 a로 진입) |
명령줄 모드 | :를 입력하여 저장, 종료 등 실행 |
🔹 주요 명령어:
기능 | 명령 |
입력 모드 진입 | i (커서 앞), a (커서 뒤) |
저장 후 종료 | :wq |
종료 (저장 안 함) | :q! |
한 줄 삭제 | dd |
복사 | yy |
붙여넣기 | p |
검색 | /검색어 |
🔹 언제 사용하면 좋을까?
- 기본적으로 모든 Unix 시스템에서 제공됨 (추가 설치 필요 없음)
- 터미널 환경에서 가볍게 실행 가능
- 빠른 수정이 필요할 때 (하지만 Vim보다는 기능이 적음)
🔹 3. vim (VI Improved)
vim filename
✅ 특징:
- vi의 업그레이드 버전 (VI Improved)
- vi의 모든 기능을 포함하면서 추가 기능 제공
- 구문 강조(Syntax Highlighting) 지원
- 멀티탭, 플러그인, 자동 완성 등 강력한 기능 제공
- 마우스 사용 가능
🔹 주요 명령어 (vi와 동일하지만 더 많은 기능 제공)
기능 | 명령 |
입력 모드 진입 | i 또는 a |
저장 후 종료 | :wq |
종료 (저장 안 함) | :q! |
한 줄 삭제 | dd |
복사 | yy |
붙여넣기 | p |
검색 | /검색어 |
여러 개의 파일 열기 | :tabnew filename |
구문 강조 켜기 | :syntax on |
🔹 언제 사용하면 좋을까?
- vi보다 더 강력한 기능이 필요할 때
- 프로그래밍/코딩에 적합한 텍스트 편집기가 필요할 때
- Vim 플러그인 및 확장 기능을 활용할 때
📌 nano, vim, vi 비교 요약
편집기 | 초보자 친화적 | 모드 | 기능 | 주요 용도 |
nano | ✅ 매우 쉬움 | ❌ 없음 | 🔹 기본적인 편집 가능 | 빠르게 파일 수정 |
vi | ❌ 어렵지만 기본 제공 | ✅ 명령/입력 모드 | 🔹 가볍고 기본적인 기능 | Unix 기본 텍스트 편집 |
vim | ❌ 어렵지만 강력 | ✅ 명령/입력 모드 | 🔹 vi보다 많은 기능 (구문 강조, 자동 완성 등) | 프로그래밍, 고급 편집 |
✅ 결론: 언제 어떤 걸 사용해야 할까?
1️⃣ 초보자거나 간단한 편집을 원하면 → nano
2️⃣ 기본적인 Unix 환경에서 사용할 거면 → vi
3️⃣ 고급 기능을 원하고 프로그래밍할 거면 → vim
💡 간단한 파일 수정이면 nano, 깊이 있는 작업이면 vim 추천! 😊