본문 바로가기
넷칼리지

vi 에디터

by 북한산산적 2009. 4. 15.

- 필수 옵션
a 커서 다음에 텍스트 추가
A 해당 라인의 끝에 텍스트 추가
i 커서 전에 텍스트 삽입
I 해당라인의 시작에 텍스트 삽입
o 커서 아래에 새로운 라인 추가
O 커서 위에 새로운 라인 추가

h,<-,backspace  왼쪽으로 한문자 이동
j or 한라인 아래로 이동
k or 한 라인 위로 이동
l, ->,spacebar 오른쪽으로 한 문자 이동
w 앞으로 한 단어 이동
b 뒤로 한 단어 이동
e 현재 단어의 끝으로 이동
$ 현재 라인의 끝으로 이동
0(숫자) guswo fkdlsdml cjdmadmfh dlehd
^ 현재 라인의 공백을 제외한 처음으로 이동
Return 다음라인으로 이동
Control +f or b 한페이지 아래로 (f), 한페이지 위로 (b)
Control _d or u 반 페이지 아래로 (d), 반 페이지 위로 (u)

text 잘라내기

x 커서에 있는 한 문자 잘라내기
dw 위치한 곳에서 부터 한 단어 잘라내기
dd 커서가 위치한 곳에서 부터 라인의 마지막 부분까지 잘라내기
:5, 10d 5번째 부터 10번째 라인 삭제 (delete)

text 수정

cw 커서가 위치한 곳에 있는 단어 변경(change)
R 커서가 위치한 곳에서 부터 해당 라인의 끝까지 Overwrite
C 커서가 위치한 곳에서 부터 해당 라인의 끝까지 변경 (change)
s 한문자 Substiutes -> Edit mode 로 변경
r 한문자 Replaces -> Commande mode 계속 유지


Text 수정 Commands (계속)

J 현재 라인과 아래쪽 라인 join
~ 대소문자 변경
u 이전 Command undo
U 현재 라인의 모든 변경 undo
u last-line Command에서 이전 Command undo (list-line mode)
:f File_Name 커서위치한 곳에 다른 파일 삽입

Copy / Paste Commands (Command mode)

yy(lowercase)  한라인 copy
p(lowercase)  커서가 위치한 다음에 paste
P(uppercase) 커서가 위치한 이전에 paste
:1, 3 co 5  1번 ~3번 라인 copy 하여 5번 라인 다음에 paste
:4, 6 m 8  4번 ~6번 라인을 8번 라인으로 이동
(Line 6-> Line 8; Line 5 -> Line 7, Line 4 -> Line 6)

Text 검색 /replace Commands (last-line mode)

/string  해당 string 을 아래로 진행하여 검색
?string  해당 string 을 위로 진행하며 검색
n  string 의 다음 위치 검색
N  string 의 이전 위치 검색
:%s/old/new/g  전체 file에서 'old' 문자를 'new'문자로 교체

Save and Quit Commands
:w  변경 사항 저장
:w new_File_Name  new_File_Name 으로 저장
:wq  변경사항 저장하고 종료
:x     변경사항 저장하고 종료
:zz   변경사항 저장하고 종료
:q!    변경사항 저장하지 않고 강제 종료
:wq!  강제로 변경사항 저장하고 종료


Go Commands

G   마지막 라인으로 이동 (Command mode)
1G  처음 라인으로 이동 (Command mode)
:21  21번 라인으로 이동 (last-line mode)
21G  21번 라인으로 이동 (Command mode)



사용자 정의 Session Commands(last-line mode)

:set nu   라인 number보기
:set monu  라인 number 숨기기
:set ic 검색 시  대소문자 무시
:set noic 검색시 대소문자 구분
:set list       tab 이나 end-of-line 숨겨진 문자 보이기
:set nolist   tab 이나 end-of-line 숨겨진 문자 숨기기
:set showmode   작업모드 보이기
:set noshowmode   작업모드 숨기기
:set      현재 설정된 변수 보기
:set all   현재 설정된 변수 + 모든 변수 보기