관리 메뉴

NineTwo meet you

[리눅스 기초] vi/vim 편집기 사용 본문

CS/리눅스

[리눅스 기초] vi/vim 편집기 사용

NineTwo 2020. 7. 27. 22:23
반응형

vi 편집기 모드

다음과 같은 3가지 모드로 구성되어 있다.

vi 편집기 3가지 모드

파일 열기

vi filename 파일 열기
vi +행번호 filename 입력한 행에 커서 위치한 파일 열기
vi +/"string" filename “string”이 처음 발생한 단어부터 파일 열기
vi –r filename 손상된 파일 복구
view filename 읽기 전용으로 파일 열기

커서 이동

h 왼쪽으로 한 간 이동
backspace
j 한 줄 아래로 이동
k 한 줄 위로 이동
l 오른쪽으로 한 칸 이동
spacebar
w 한 단어 앞으로 이동
b 한 단어 뒤로 이동
e 현재 단어 맨 끝으로 이동
$ 한 줄 끝으로 이동
0 한 줄 시작으로 이동
Return 한 줄 아래로 이동
G 파일의 제일 마지막 줄로 이동
nG n번째 줄로 이동
:n
Ctrl + f 다음 화면으로 이동
Ctrl + d 화면의 절반만큼 다음 화면으로 이동
Ctrl + b 이전 화면으로 이동
Ctrl + u 화면의 절반만큼 이전 화면 이동
Ctrl + l
화면 재갱신

텍스트 입력

a 커서 뒤에 입력
A 커서 줄 맨 끝에 입력
i 커서 앞에 입력
I 커서 줄 맨 앞에 입력 
o 커서의 아랫줄에 빈칸을 만들고 입력
O 커서의 윗줄에 빈칸을 만들고 입력
s 커서 위치의 한 문자를 지우고 입력
S 현재 커서의 한 줄을 지우고 입력
cc
:r filename r번째 줄 아랫줄에 파일 내용 입력

텍스트 수정

cw 커서 위치 단어 변경
r 커서 위치 글자 변경
J 커서 아랫줄 내용을 커서 줄로 이동
xp 커서 위치 글자와 우측 글자 변경
~ 커서 위치 글자 대소문자 변경
u 명령어 실행 이전으로 되돌림
U 커서 줄 변경 이전으로 되돌림
. 바로 전 명령어 재실행

텍스트 삭제

R 커서의 우측부터 텍스트 대체 입력
C 커서의 우측부터 줄 끝까지 삭제 후 입력
s 커서 위치 삭제 후 입력
x 커서 위치 글자 삭제
X 커서 앞글자 삭제
dw 커서 위치 단어 삭제
(n)dd 커서 위치 n개 줄 삭제
D 커서 우측부터 줄 끝까지 삭제
dh 커서 앞글자 삭제
dj 커서 아랫줄과 커서 있는 줄 삭제
dk 커서 윗줄과 커서 있는 줄 삭제
dl 커서 위치 글자 삭제
d0 커서 위치부터 줄의 처음까지 삭제
d$ 커서 우측부터 줄 끝까지 삭제
:n, md n번째 줄부터 m번째 줄까지 삭제

텍스트 복사 및 붙여 넣기

nyy 커서가 위치한 n개의 줄 복사해 버퍼 공간에 저장
nY
p 버퍼 공간에 저장된 텍스트를 커서 아래 줄에 붙여넣게
P 버퍼에 저장된 텍스트를 커서 윗줄에 붙여넣기
:n,n co n n번째 줄부터 n번째 줄까지 복사해 n번째 줄 아래 복사
:n,n m n n번째 줄부터 n번째 줄까지 잘라내기 해 n번째 줄 아래 복사

검색 및 변환

f + string 현재 행에서 커서 이후 string을 검색해 위치 이동
F + string 현재 행에서 커서 이전 string을 검색해 위치 이동
; 현재 행에서 같은 방향으로 string을 반복해 검색
, 현재 행에서 반대 방향으로 string을 반복해 검색
/string 문서 순서대로 단어 검색
?string 문서 역순으로 단어 검색
n 단어를 검색한 상태에서 다음 검색 결과 확인
N 단어를 검색한 상태에서 이전 검색 결과 확인
:%s/oldString/newString/g oldString에 입력된 단어를 newString에 입력된 단어로 변환

파일 저장 및 종료

ZZ 수정한 파일 디스크에 저장 후 종료
:w 수정한 파일 디스크에 저장
:w filename 수정한 파일 filename에 지정된 다른 이름으로 저장
:q 수정한 파일 디스크에 저장하지 않고 종료
:q! 수정한 파일 디스크에 저장하지 않고 강제 종료
:wq 수정한 파일 디스크에 저장하고 종료
:x
:wq! 수정한 파일 디스크에 저장하고 강제 종료

상태 옵션

:set vi 편집기의 모든 환경 변수 리스트 출력
:set all vi 편집기의 모든 환경 변수 활성화
:set nu 화면에 줄 번호 출력
:set nonu 화면에 줄 번호 숨김
:set ic 검색 시 대소문자 구분하지 않음
:set noic 검색 시 대소문자 구분
:set list 숨겨진 기호들을 표시
:set nolist 숨겨진 기호들을 표시하지 않음

vim

vi improved의 앞글자를 따서 vim이라 부르는 편집기로 Bram Moolenaar가 만든 vi 호환 편집기다.

vi의 거의 모든 기능이 호환되고 vim만의 독자적인 기능이 추가되었다.

 

vim 명령어 모음

vim cheat sheet

반응형
Comments