본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

안녕하세요! 리눅스 명령어의 매력에 푹 빠진 Big Byte입니다! 🚀 활기찬 수요일 보내고 계신가요? 벌써 한 주의 가운데라니, 시간이 정말 빠른 것 같네요! 🔥
지난 시간에는 리눅스의 전설적인 텍스트 편집기, vi(vim)와 첫 만남을 가졌죠! 🤝 명령 모드, 입력 모드, 마지막 행 모드를 넘나들며 이동하고(hjkl!), 텍스트를 입력(i, a, o!), 삭제(x, dw, dd!), 복사/붙여넣기(yy, p!), 그리고 저장(:w)과 종료(:q, :wq)까지! 처음엔 낯설었지만, 이제 조금은 vi와 친해진 느낌이 드시나요? 😊
기본적인 편집 방법을 익혔으니, 이제 한 단계 더 나아가 볼까요? 실제 작업을 하다 보면 파일 하나만 열어보는 경우는 드뭅니다. 설정 파일을 비교해야 할 때도 있고, 다른 파일의 내용을 참조하며 코드를 작성해야 할 때도 있죠. 이럴 때마다 vi를 껐다 켰다 하는 건 너무 비효율적이잖아요! 😥
그래서 오늘은 vi(vim)의 숨겨진 강력한 기능! 여러 파일을 동시에 보고 편집하는 방법에 대해 알아보겠습니다! 이제 vi 안에서도 멀티태스킹 마법을 부려보자고요! ✨ Let's multi-edit! ⌨️

1. 시작부터 여러 개! 🚀 파일 여러 개 동시에 열기
가장 기본적인 방법은 vi를 시작할 때부터 원하는 파일들을 모두 지정하는 것입니다.
vi file1.txt file2.log config.conf
이렇게 하면 file1.txt가 먼저 열리고, 나머지 파일들(file2.log, config.conf)은 **버퍼(Buffer)**라는 임시 저장 공간에 로드됩니다. vi는 이 파일 목록을 기억하고 있어요!
2. 파일 사이를 순간이동! 휙휙~ 💫 (버퍼 이동하기)
자, 여러 파일을 열었으니 이제 파일 사이를 자유롭게 이동해야겠죠? 이때 사용하는 것이 바로 버퍼 관련 명령어입니다. (명령 모드에서 :를 눌러 마지막 행 모드로 진입 후 사용하세요!)
- :ls : 현재 열려있는 파일(버퍼) 목록을 보여줍니다. 각 파일 앞에는 번호가 붙어있어요. (%a는 현재 활성화된 버퍼를 의미)
- :n : 다음 파일(버퍼)로 이동합니다. (Next)
- :N 또는 :prev : 이전 파일(버퍼)로 이동합니다. (Previous)
- :bnext : 다음 파일(버퍼)로 이동합니다. (:n과 동일)
- :bprev : 이전 파일(버퍼)로 이동합니다. (:N과 동일)
- :b [번호] : :ls에서 확인한 번호에 해당하는 파일(버퍼)로 바로 이동합니다. (예: :b 2)
- :b [파일명 일부] : 파일 이름의 일부만 입력해도 해당 파일(버퍼)로 이동합니다. (Tab 키 자동완성 가능!) (예: :b conf)
ls, n, N 세 가지만 알아도 파일 간 이동은 문제없어요! 마치 여러 개의 작업 창을 순식간에 전환하는 느낌이랄까요? 😎
3. 화면 분할! 🖥️ 한눈에 비교하고 편집하기 (Split View)
파일 사이를 이동하는 것만으로는 부족할 때가 있습니다. 두 파일을 동시에 보면서 비교하거나 내용을 복사/붙여넣기 하고 싶을 때! 이럴 때 사용하는 것이 바로 화면 분할(Split) 기능입니다.

- 수평 분할 (Horizontal Split)
- :sp 또는 :split : 현재 파일을 기준으로 화면을 위아래로 나눕니다. 같은 파일이 두 개의 창에 보이게 됩니다.
- :sp [파일명] : 현재 창을 위아래로 나누면서 새로운 파일을 아래 창에 엽니다.
- 수직 분할 (Vertical Split)
- :vs 또는 :vsplit : 현재 파일을 기준으로 화면을 좌우로 나눕니다.
- :vs [파일명] : 현재 창을 좌우로 나누면서 새로운 파일을 오른쪽 창에 엽니다.
이제 여러 개의 창(Window)이 생겼네요! 그럼 이 창들 사이는 어떻게 이동할까요?
- 창 간 이동 (명령 모드에서)
- Ctrl + w 누른 후 h : 왼쪽 창으로 이동
- Ctrl + w 누른 후 j : 아래쪽 창으로 이동
- Ctrl + w 누른 후 k : 위쪽 창으로 이동
- Ctrl + w 누른 후 l : 오른쪽 창으로 이동
- Ctrl + w 누른 후 w : 다음 창으로 순환 이동 (가장 많이 사용!)
- 창 닫기 (명령 모드에서)
- :q : 현재 활성화된 창을 닫습니다. (만약 해당 창이 파일의 마지막 창이었다면 파일이 닫힙니다.)
- :close : :q와 동일하게 현재 창을 닫습니다.
- :only : 현재 활성화된 창만 남기고 나머지 모든 창을 닫습니다.
Tip: 화면 분할 창을 닫아도 파일(버퍼)은 닫히지 않습니다! :ls로 확인하면 여전히 목록에 남아있고, :b 명령어로 다시 열 수 있어요. 😉
4. 작업 완료! 모든 파일 저장하고 종료하기 💾🚀
여러 파일을 수정하고 화면 분할까지 사용했다면, 저장하고 종료하는 것도 한 번에 처리하는 것이 좋겠죠?
- :wa : 열려있는 모든 수정된 파일을 저장합니다. (Write All)
- :qa : 열려있는 모든 창(파일)을 종료합니다. (Quit All - 수정사항이 없거나 저장했을 때만 가능)
- :wqa 또는 :xa : 열려있는 모든 수정된 파일을 저장하고 모든 창(파일)을 종료합니다. (Write & Quit All)
- :qa! : 주의! ⚠️ 수정된 내용이 있더라도 묻지 않고 강제로 모든 창(파일)을 종료합니다. 작업 내용을 날릴 수 있으니 신중하게 사용하세요!
와우! 이제 vi 안에서 여러 파일을 자유자재로 넘나들고, 화면을 분할해서 동시에 보면서 작업할 수 있게 되었습니다! 🤩 기본 이동/편집에 이 기능까지 더해지니 정말 강력한 편집기가 되었죠? 특히 서버 환경에서 여러 설정 파일을 비교하거나 로그 파일을 동시에 볼 때 정말 유용하답니다. 마우스 없이 키보드만으로 이런 멀티태스킹이 가능하다니, 정말 매력적이지 않나요? 😎 vi(vim)의 세계는 알면 알수록 깊고 흥미롭습니다!

벌써 한 주의 절반이 지나 수요일 밤이네요! 시간 정말 빠르죠? 쏜살같이 지나간 만큼, 오늘 하루도 각자의 자리에서 정말 고생 많으셨습니다! 👍 편안한 저녁 보내시고, 남은 한 주도 힘내서 즐거운 주말을 향해 함께 달려가 봐요! 내일도 화이팅입니다! 😄
'데이터 엔지니어링' 카테고리의 다른 글
| 패스트캠퍼스 환급챌린지 18일차: 데이터엔지니어링 초격차 강의 후기 (0) | 2025.04.18 |
|---|---|
| 패스트캠퍼스 환급챌린지 17일차: 데이터엔지니어링 초격차 강의 후기 (0) | 2025.04.17 |
| 패스트캠퍼스 환급챌린지 15일차: 데이터엔지니어링 초격차 강의 후기 (1) | 2025.04.15 |
| 패스트캠퍼스 환급챌린지 14일차: 데이터엔지니어링 초격차 강의 후기 (0) | 2025.04.14 |
| 패스트캠퍼스 환급챌린지 13일차: 데이터엔지니어링 초격차 강의 후기 (0) | 2025.04.13 |