
기본 에디터 삼대장의 대결
Vi는 유닉스 계열 시스템에서 기본으로 제공되는 텍스트 편집기이며, 개선된 버전으로, 더 많은 기능과 편리함을 제공하는 강력한 텍스트 편집기 Vim(Vi IMproved) 이 있습니다. Vi와 Vim은 간단한 텍스트 편집부터 프로그래밍 작업까지 다양한 용도로 사용할 수 있는 유연성과 확장성을 제공합니다.
[예시] 워드 프로세서와 달리 GUI 없이 키보드 중심으로 작업
모드 기반 편집: Vi와 Vim은 주로 세 가지 모드로 작동합니다.
→ Esc 키를 사용해 모드 간 전환이 가능합니다.
경량성과 속도: 시스템 자원을 적게 소모하며 대규모 파일도 빠르게 처리합니다.
확장성과 플러그인 지원: 다양한 플러그인을 추가해 기능 확장이 가능합니다.
강력한 검색 및 치환 기능: 정규식을 활용한 효율적인 작업.
리눅스 배포판에 따라 Vi은 기본 설치되어 있을 가능성이 높습니다. 그러나, Vim은 별도로 설치해야 할 수 있으며, 다음과 같이 설치할 수 있습니다.
# Debian/Ubuntu 계열
sudo apt update
sudo apt install vim
# RedHat/CentOS 계열
sudo yum install vim
설치가 끝난 뒤, 그대로 사용을 해도 문제는 없지만 조금 더 에디터를 편리하게 사용하기 위해 설정 값을 주는 것은 좋습니다.
# 사용자 Home 디렉터리로 이동
cd
# .vimrc 설정파일을 생성
vi .vimrc
# 아래의 값을 입력 후 저장 + 종료(:wq)
set smartindent
set tabstop=4
set expandtab
set shiftwidth=4
Vim 실행: vim [파일명] 명령어를 사용해 파일을 엽니다. 예를 들어:
vim example.txt
새 파일을 생성하거나 기존 파일을 편집할 수 있습니다.
모드 전환
ESC 키를 눌러 명령 모드로 돌아갈 수 있습니다.i: 현재 커서 위치에서 입력을 시작합니다.I: 현재 줄의 맨 앞에서 입력을 시작합니다.a: 커서> 뒤에서 입력을 시작합니다.A: 현재 줄의 맨 끝에서 입력을 시작합니다.o: 현재 줄 아래에 새로운 줄을 추가하고 입력을 시작합니다.O: 현재 줄 위에 새로운 줄을 추가하고 입력을 시작합니다.ESC 를 눌러 명령 모드로 돌아갑니다.: 키를 눌러 명령줄 모드로 진입합니다.:w), 종료하기 (:q), 저장 후 종료하기 (:wq), 저장하지 않고 종료 (:q!) 등의 명령어를 사용할 수 있습니다.파일 이동
h: 왼쪽으로 한 칸 이동j: 아래로 한 줄 이동k: 위로 한 줄 이동l: 오른쪽으로 한 칸 이동w:다음 단어의 시작 부분으로 이동b: 이전 단어의 시작 부분으로 이동 e: 단어의 끝 부분으로 이동0: 현재 줄의 처음으로 이동 $:현재 줄의 끝으로 이동Ctrl + f: 다음 페이지로 이동Ctrl + b: 이전 페이지로 이동 :[숫자]: 해당 줄 번호로 이동 (예: :10 → 10번째 줄로 이동)텍스트 삭제
x: 커서 위치의 문자 삭제dd: 현재 줄 삭제d$: 커서부터 줄의 끝까지 삭제dw: 현재 위치에서 다음 단어 삭제v를 눌러 텍스트 선택 후 d 키를 눌러 선택한 범위를 삭제할 수 있습니다.텍스트 복사와 붙여넣기
v): 커서로 텍스트를 선택합니다.y): 선택한 텍스트를 복사합니다.d): 선택한 텍스트를 잘라냅니다.p): 현재 커서 위치에 복사하거나 잘라낸 텍스트를 붙여넣습니다.실행 취소와 되돌리기
u 키를 사용하여 마지막 변경을 취소합니다.Ctrl + r 키로 실행 취소한 작업을 다시 실행합니다.검색과 치환
/텍스트: 파일 내에서 특정 문자열을 검색합니다. n 키를 눌러 다음 결과로 이동하고 Shift + n(N) 키로 이전 결과로 이동합니다.:%s/old/new/g: 파일 전체에서 old를 new로 모두 변경:n,m s/old/new/g: n번째 줄부터 m번째 줄까지 old를 new로 변경복수 파일 작업
vim file1.txt file2.txt와 같이 여러 파일을 한 번에 열 수 있습니다.:n: 다음 파일로 이동 :prev: 이전 파일로 이동탭 기능(Vim)
:tabe [파일명] 명령어로 새 탭을 열 수 있습니다.gt로 다음 탭으로 이동하거나 gT로 이전 탭으로 이동합니다.설정 변경
:set number로 줄 번호를 표시할 수 있습니다.:set nonumber로 줄 번호를 숨길 수 있습니다. :set autoindent 명령어로 자동 들여쓰기를 활성화할 수 있습니다.~/.vimrc 파일에 개인 설정을 저장하여 작업 효율성을 높일 수 있습니다.Q를 눌러 끝내고 ls -al 명령어를 통해 .swp 파일을 확인 하고 삭제 후 다시 실행하는 것이 좋다.