리눅스 서버에 접속해서 설정 파일을 수정해야 할 때, 여러분은 어떤 도구를 사용하시나요? 윈도우의 메모장 같은 GUI 에디터가 없는 터미널 환경에서 가장 강력하고 대중적인 도구는 바로 Vi(Visual Editor) 혹은 그 확장판인 Vim(Vi Improved)입니다.
처음 실행하면 글자 입력조차 마음대로 안 되어 당황스럽겠지만, 딱 몇 가지 규칙만 익히면 이보다 빠르고 편리한 에디터는 없습니다. 오늘은 'Vim에서 탈출하지 못하는 초보자'를 위한 필수 사용법을 정리해 드립니다.
1. Vim의 핵심: '모드(Mode)'의 이해
Vim이 다른 에디터와 결정적으로 다른 점은 모드형 에디터라는 것입니다. 마우스가 없던 시절에 만들어졌기 때문에, 키보드 자판을 '입력용'으로 쓸지 '명령용'으로 쓸지 나누어 놓은 것이죠.
- 명령 모드 (Normal Mode): 파일을 처음 열었을 때의 기본 상태입니다. 커서 이동, 삭제, 복사 등을 수행합니다.
- 입력 모드 (Insert Mode): 실제로 글자를 타이핑하는 상태입니다.
- 명령행 모드 (Command-line Mode): 저장, 종료, 검색 등을 수행합니다.
2. 기본 흐름: 열고, 쓰고, 저장하고, 나가기
가장 기초적인 작업 순서를 따라가 보겠습니다.
- 파일 열기: 터미널에 vi 파일명.txt를 입력합니다.
- 입력 시작: 명령 모드에서 영문자 i (Insert)를 누릅니다. 왼쪽 하단에 -- INSERT --라고 뜨면 이제 글자를 입력할 수 있습니다.
- 입력 종료: 입력을 마쳤다면 Esc 키를 눌러 다시 명령 모드로 돌아옵니다.
- 저장 및 종료: 명령 모드에서 : (콜론)을 누르면 화면 하단에 명령을 입력할 수 있습니다.
- :w : 저장 (Write)
- :q : 종료 (Quit)
- :wq : 저장 후 종료 (가장 많이 쓰임)
- :q! : 저장하지 않고 강제 종료 (수정하다 망쳤을 때 유용)
3. 필수 단축키 (명령 모드 기준)
마우스 없이도 자유롭게 편집하기 위해 꼭 외워야 할 명령어들입니다.
- 커서 이동: 화살표 키도 작동하지만, 고수들은 h(좌), j(하), k(상), l(우)를 사용합니다. 손 위치를 바꾸지 않아도 되기 때문이죠.
- 삭제:
- x : 커서 위치의 글자 한 개 삭제
- dd : 현재 줄 전체 삭제
- 복사와 붙여넣기:
- yy : 현재 줄 복사 (Yank)
- p : 현재 줄 아래에 붙여넣기 (Paste)
- 실수 되돌리기:
- u : 실행 취소 (Undo)
- Ctrl + r : 다시 실행 (Redo)
4. 검색과 이동 꿀팁
파일 내용이 길 때 유용하게 사용할 수 있는 기능입니다.
- 단어 검색: 명령 모드에서 /검색어를 입력하고 엔터를 칩니다. n을 누르면 다음 검색 결과로 이동합니다.
- 줄 번호 이동:
- G : 파일의 맨 마지막 줄로 이동
- gg : 파일의 맨 처음 줄로 이동
- :숫자 : 해당 숫자의 라인으로 이동 (예: :50 입력 시 50행으로 점프)
5. 왜 굳이 Vim을 배워야 할까요?
처음에는 불편해 보일 수 있지만, Vim은 거의 모든 리눅스 배포판에 기본으로 깔려 있습니다. 즉, 어떤 서버에 접속하더라도 도구 탓을 하지 않고 즉시 작업을 시작할 수 있다는 뜻이죠. 또한 익숙해지면 마우스에 손을 대지 않고도 엄청난 속도로 코드를 편집하는 자신을 발견하게 될 것입니다.
💡 초보자를 위한 한 줄 요약
"들어가려면 i, 나오려면 Esc, 저장하고 끝내려면 :wq"
이 세 가지만 기억해도 일단 리눅스 서버에서 텍스트를 수정하는 데 아무런 지장이 없습니다. 오늘 바로 터미널을 열고 vi test.txt를 입력해 실습해 보세요!
'기타' 카테고리의 다른 글
| 서버 모니터링이란? 리소스 체크가 필요한 이유 (0) | 2026.04.29 |
|---|---|
| 서버 백업의 중요성과 정기 백업 자동화 방법 (0) | 2026.04.29 |
| 파일 전송의 기초: FTP와 SFTP의 차이점 (0) | 2026.04.29 |
| 리눅스 패키지 관리자(apt, yum) 사용법: 프로그램 설치의 모든 것 (0) | 2026.04.29 |
| SSL 보안 인증서(HTTPS)의 개념과 설치 이유 (0) | 2026.04.29 |