vim(vi) 명령어 완벽 정리: 초보자도 쉽게 배우는 에디터 활용 가이드
혹시 리눅스나 맥 터미널에서 파일을 수정하려다 vim 에디터가 갑자기 튀어나와서 당황한 경험 있으신가요? 🤯 분명히 키보드를 막 눌러봐도 글자가 써지지도 않고, 심지어 프로그램 종료조차 어렵게 느껴지셨을 거예요. 맞아요, 저도 처음엔 그랬거든요. 하지만 vim은 알고 보면 정말 강력하고 효율적인 텍스트 에디터랍니다. 마우스 없이 오직 키보드만으로 모든 작업을 처리할 수 있어서, 개발자나 시스템 관리자에게는 필수 중의 필수죠. 이 글만 끝까지 읽으시면, 여러분도 vim의 매력에 푹 빠지게 될 거예요! 😊
vim과 vi, 그 차이가 뭐죠? 🤔
vim과 vi는 사실 거의 같은 에디터라고 봐도 무방해요. vi는 'Visual Editor'의 약자로 유닉스 기반 시스템에 기본적으로 탑재되어 있는 에디터예요. 반면에 vim은 'vi improved'의 약자로, vi에 여러 가지 편리한 기능을 추가해서 만든 에디터입니다. 요즘 대부분의 리눅스 배포판이나 시스템에서는 기본 vi 명령어 외에도 vim의 확장 기능들을 모두 사용할 수 있도록 설정되어 있답니다.
vim은 세 가지 모드로 작동하는데, 이 모드 개념을 이해하는 게 가장 중요해요! 바로 명령 모드(Command Mode), 입력 모드(Insert Mode), 그리고 마지막 행 모드(Last Line Mode)입니다. 이 모드 전환에 익숙해져야 vim을 능숙하게 쓸 수 있어요.
vim의 핵심! 세 가지 모드와 전환 방법 📊
vim을 처음 실행하면 명령 모드 상태가 됩니다. 이 모드에서는 텍스트를 입력할 수 없고, 오직 키보드 명령어를 통해 커서 이동, 복사, 삭제, 붙여넣기 등을 할 수 있어요. 텍스트를 직접 입력하려면 반드시 입력 모드로 전환해야 하고, 파일을 저장하거나 종료할 때는 마지막 행 모드를 사용하게 됩니다.
모드 전환 명령어 요약
현재 모드 | 전환할 모드 | 전환 명령어 | 비고 |
---|---|---|---|
명령 모드 | 입력 모드 | `i` (현재 커서 위치에서 시작) | 가장 자주 사용 |
명령 모드 | 입력 모드 | `a` (현재 커서 뒤에서 시작) | 'append' |
명령 모드 | 마지막 행 모드 | `:` (콜론) | 저장, 종료 시 사용 |
입력/마지막 행 모드 | 명령 모드 | `Esc` (Escape) | 매우 중요! |
vim을 종료하는 가장 확실한 방법은 `Esc` 키를 눌러 명령 모드로 돌아간 뒤, `:wq` (저장 후 종료) 또는 `:q!` (강제 종료)를 입력하고 엔터를 누르는 것입니다. 아무리 키보드를 눌러도 반응이 없다면, 일단 `Esc` 키를 여러 번 눌러보세요!
필수 명령어 총정리 🧮
이제 vim의 모드 개념을 알았으니, 가장 자주 사용하게 될 명령어들을 알아볼까요? 모든 명령어는 명령 모드에서 입력해야 합니다. 입력 모드 상태에서는 아무리 눌러도 그냥 텍스트가 입력될 뿐이에요.
커서 이동 명령어
기본 이동: `h` (왼쪽), `j` (아래), `k` (위), `l` (오른쪽)
단어 단위 이동: `w` (다음 단어), `b` (이전 단어)
라인 단위 이동: `0` (라인 시작), `$` (라인 끝)
페이지 이동: `Ctrl + f` (한 페이지 아래), `Ctrl + b` (한 페이지 위)
마우스 대신 키보드로만 작업하니 처음에는 좀 답답하게 느껴질 수 있지만, 익숙해지면 오히려 손목에 부담도 덜하고 훨씬 빠르답니다.
복사, 삭제, 붙여넣기 명령어 👩💼👨💻
가장 많이 사용하는 기능이 바로 복사, 삭제, 붙여넣기겠죠? vim에서는 이 작업도 명령 모드에서 간단한 키 입력으로 가능합니다.
vim의 복사 명령어는 `yank`의 약자인 `y`를 사용해요. 그래서 복사하는 동작을 흔히 'yank'라고 부르기도 한답니다.
실전 예시: 문서 수정하기 📚
백문이 불여일견! 실제로 vim을 이용해서 문서를 수정하는 과정을 따라해 볼까요? 예를 들어, 40대 직장인 박모모씨가 리눅스 서버에서 웹사이트 설정 파일을 수정해야 하는 상황이라고 가정해 볼게요.
사례 주인공의 상황
- 상황: 웹 서버의 포트 번호를 8080에서 80으로 변경해야 함.
- 파일: `/etc/httpd/conf/httpd.conf`
수정 과정
1) 터미널에서 `vim /etc/httpd/conf/httpd.conf`를 입력하고 엔터.
2) 파일이 열리면 `명령 모드` 상태이므로, `/8080`을 입력하고 엔터를 눌러 '8080'이라는 문자열을 찾습니다.
3) 커서가 '8080'에 위치하면 `i`를 눌러 `입력 모드`로 전환합니다.
4) '8080'을 지우고 '80'으로 수정한 뒤, `Esc`를 눌러 다시 `명령 모드`로 돌아갑니다.
5) `:wq`를 입력하고 엔터를 누르면 수정 사항이 저장되고 vim이 종료됩니다.
최종 결과
- 웹 서버의 포트 번호가 성공적으로 80으로 변경되었습니다.
어때요, 생각보다 어렵지 않죠? 처음엔 복잡해 보여도 몇 번만 반복해서 따라 해 보면 금방 익숙해질 거예요.
마무리: 핵심 내용 요약 📝
지금까지 vim과 vi 에디터의 기본 개념부터 필수 명령어까지 자세히 알아봤어요. 가장 중요한 핵심 포인트들을 다시 한번 정리해 볼까요?
- vim은 세 가지 모드로 동작합니다. 명령 모드, 입력 모드, 마지막 행 모드. 이 모드들을 자유자재로 전환하는 것이 핵심입니다.
- `Esc` 키는 항상 명령 모드로 돌아가는 역할을 합니다. 뭔가 꼬였을 때는 일단 `Esc`를 누르는 습관을 들이세요.
- 종료는 `:wq` (저장 후 종료) 또는 `:q!` (강제 종료)로! `wq`는 `write`와 `quit`의 약자이고 `q!`는 `quit`에 강제(force)를 뜻하는 `!`를 붙인 거예요.
- 커서 이동은 `h, j, k, l`을 활용해 보세요. 마우스에 의존하지 않고 오직 키보드만으로도 충분히 빠르게 작업할 수 있습니다.
- 복사(`y`), 삭제(`d`), 붙여넣기(`p`) 명령어를 기억하세요. 한 라인 전체를 삭제하고 싶을 땐 `dd`, 한 라인을 복사하고 싶을 땐 `yy`를 누르면 된답니다.
이렇게 정리하고 보니 vim이 꽤 친근하게 느껴지죠? 앞으로 터미널 작업할 일이 생긴다면, 이 포스팅을 참고해서 vim을 한번 사용해보세요. 혹시 궁금한 점이 있다면 언제든지 댓글로 남겨주세요~ 제가 아는 선에서 성심껏 답변해 드릴게요! 😊