리눅스에서 vim/vi 편집기 기본 명령어와 활용 방법
리눅스에서 vim(또는 vi)는 매우 강력한 텍스트 편집기로, 개발자와 시스템 관리자가 자주 사용합니다. 아래는 vim/vi의 기본적인 명령어와 실전 활용 방법을 소개합니다.
1. vi/vim 시작하기
vi 파일명 # 파일을 vi로 열기
vim 파일명 # 파일을 vim으로 열기
- 파일이 존재하지 않으면 새 파일을 생성하고 열립니다.
2. 모드 이해하기
vim은 3가지 모드로 동작합니다.
- 명령 모드: 기본 상태로, 명령 입력을 위한 모드.
- 입력 모드: 텍스트 입력이 가능한 모드.
- 명령 줄 모드: 파일 저장, 종료 등 명령을 실행.
모드 간 전환
- 명령 모드 → 입력 모드: i, a, o 등 입력
- 입력 모드 → 명령 모드: ESC
- 명령 모드 → 명령 줄 모드: :
3. 기본 명령어
(1) 명령 모드에서 파일 탐색
- 커서 이동:
- h: 왼쪽
- l: 오른쪽
- j: 아래
- k: 위
- 단어 단위 이동:
- w: 다음 단어로 이동
- b: 이전 단어로 이동
- 페이지 이동:
- Ctrl+d: 아래로 스크롤
- Ctrl+u: 위로 스크롤
(2) 텍스트 편집
- 입력 모드 진입:
- i: 커서 앞에서 입력
- a: 커서 뒤에서 입력
- o: 아래 줄에 새 줄 추가
- 삭제:
- x: 현재 커서 위치 문자 삭제
- dw: 현재 단어 삭제
- dd: 현재 줄 삭제
- 복사/붙여넣기:
- yy: 현재 줄 복사
- p: 붙여넣기
- 되돌리기:
- u: 마지막 작업 되돌리기
- Ctrl+r: 되돌리기 취소
(3) 검색
- /검색어: 아래 방향으로 검색
- ?검색어: 위 방향으로 검색
- n: 다음 검색 결과로 이동
- N: 이전 검색 결과로 이동
4. 명령 줄 모드 주요 명령어
- :w: 파일 저장
- :q: 편집기 종료
- :wq: 저장 후 종료
- :q!: 저장하지 않고 강제 종료
- :set nu: 줄 번호 표시
- :set nonu: 줄 번호 숨기기
- :syntax on: 구문 강조 활성화
5. 실전 활용 팁
(1) 복잡한 작업을 빠르게
- 특정 줄로 이동: :숫자
:10 # 10번째 줄로 이동
- 여러 줄 삭제: 숫자dd
5dd # 현재 줄 포함 아래 5줄 삭제
- 빠르게 여러 줄 붙여넣기:
5p # 5번 붙여넣기
(2) 텍스트 치환
- 한 줄에서 텍스트 치환:
:s/기존문자열/새문자열/
- 파일 전체에서 텍스트 치환:
:%s/기존문자열/새문자열/g
(3) 매크로 활용
- 매크로 녹화:
- q[a-z]: 매크로 시작 (a~z로 이름 지정)
- 작업 수행
- q: 녹화 종료
- 매크로 실행:
@[a-z] # 저장한 매크로 실행
6. vim 설정 파일 커스터마이징
vim 기본 설정 파일 열기:
vim ~/.vimrc
- 자주 사용하는 설정 추가:
set number # 줄 번호 표시 syntax on # 구문 강조 활성화 set tabstop=4 # 탭 크기 설정 set shiftwidth=4 # 자동 들여쓰기 크기 set expandtab # 탭을 공백으로 변환
7. vim으로 효율적으로 작업하는 습관
- 학습:
- vimtutor: vim의 공식 튜토리얼 실행
- 생산성 향상:
- 플러그인 활용 (예: NERDTree, vim-airline)
- 단축키 익히기 (복사, 붙여넣기, 치환 등)
마치며
vim/vi는 초반에 배우기 어려워 보이지만, 한 번 익히면 생산성을 크게 높일 수 있는 도구입니다. 위의 기본 명령어를 익힌 후, 점차 고급 기능과 플러그인으로 확장해보세요. 특히 개발과 리눅스 관리에서 효율성을 극대화할 수 있습니다.
'정보통신기술' 카테고리의 다른 글
소프트웨어 정의 스토리지(SDS) GlusterFS 설치에 관하여 (0) | 2024.12.09 |
---|---|
리눅스 samba 서비스 설치 및 설정 가이드 (0) | 2024.12.08 |
윈도우 업데이트 문제로 Propresenter 갑자기 실행이 안될 때 (0) | 2024.12.08 |
파이썬에서 사용하는 기본적인 데이타구조(Data Structure)에 대해 알아보자 (0) | 2024.12.07 |
캠퍼스 네트워크 설계시 효율적인 대역폭 활용방안에 대해 (0) | 2024.12.07 |