|
파일 열기 및
종료
열기 : vi letter.txt :w
; 저장(write) :q ; 종료(quit) ZZ
; 종료 :wq ; 저장 후 종료 :w!
; 강제 저장 :q! ; 강제 종료
편집모드
i ; 커서앞에 텍스트 삽입 a
; 커서뒤에 텍스트 삽입 o ; 현재
행 아래에 텍스트 삽입
텍스트 교체
r ; 한 글자만 교체 R ;
커서가 있는 자리부터 여러문자 교체
커서이동
←, h, <del> ↓,
j ↑, k →, l
신속이동
w ; 오른쪽으로 특수문자 혹은 한단어의
처음으로 이동 b ; 왼쪽으로 특수문자
혹은 한단어의 처음으로 이동 W ;
오른쪽으로 한단어의 처음으로 이동 B
; 왼쪽으로 한단어의 처음으로 이동
한 행 안에서의
이동
0 (숫자) ; 행의 맨 처음으로 이동 $
; 행의 맨 마지막으로 이동
페이지 이동
G ; 문서의 맨 끝 행으로 이동 nG
; nqjsWo 행으로 이동 C-f ; 한페이지
아래로 이동 C-b ; 한페이지 위로
이동
삭제명령
dw ; 한 단어 삭제 dd ;
한 줄 삭제 D ; 커서부터 행 끝까지
삭제 x ; 한 글자 삭제
숫자와 명령의
조합 예제
10j ; 10줄 위로 이동 10x
; 10글자 삭제 5dd ; 5줄 삭제
복사 & 붙여넣기
x, dw, dd, D → p ; 커서 뒤에 임시
버퍼내용 추가 x, dw, dd, D → P
; 커서 앞에 임시 버퍼내용 추가
텍스트 복사
yw ; 한단어 복사 y$ ;
커서부터 행끝까지 복사 yy ; 한줄
모두 복사
2줄 붙이기 ;
J
텍스트 탐색
/ ; 전방 탐색 ? ; 후방
탐색 n ; 같은방향으로 탐색 계속 N
; 반대방향 탐색 계속 / ; 전방탐색
계속 ? ; 후방탐색 계속
행 번호 붙이기
:set nu :set nonu ; 번호
없애기
특정 행 번호로
이동
:1 ; 1번째 행으로 이동 :$
; 마지막 행으로 이동 :$= ; 현재
문서의 총 줄(행)수 :.= ; 현재위치의
행번호
범위 지정
v
:1,10d ; 1번행부터 10번행가지 삭제(d) :.,$d
; 현재부터 마지막 행까지 삭제 :0,$-4d
; 파일의 맨처음(0;가상번호)부터 끝까지 삭제하되
4는 제외 :.-1,.+1y(:.-,.+y)(:-,+y)
; 현재 행을 기준으로 아래위 3행을 복사 :0,$y
; :%y ; 모든 행 복사
일부분 저장
:1,.w part1.txt ; 1행부터 현재
행까지 part1.txt 라는 이름으로 저장 :1,.w
>>part.txt ; 1행부터 현재 행까지를
part.txt 파일에 추가
다른파일 내용
(읽기) 삽입
:r insert.txt ; 커서위치 아래에
insert.txt 파일을 추가 1r
insert.txt ; 0r insert.txt ;
텍스트 검색
및 교체
:범위s/찾는문자열/교체할문자열/옵션 :%s/girl/woman/g
(※ g ; global) :0,.s/^/>>
/g ; 맨 처음부터 현재행에 대하여 행의 맨
앞에 >>를 붙임 (※ ^ 는 가상의 맨
앞) :.-3,.+5s/$/<</g ;
주어진 범위의 각 행 끝에 << 문자 추가
(※ $는 가상의 맨 마지막)
※ . ; 현재 행 ^ ; 가상의 맨 처음 $
; 가상의 맨 처음 % 현 문서 전체
특수문자가 들어간
문자열의 교체
:%s/\/usr/\/usr/local/g ; /usr를
찾아서 /usr/local 로 교체 ※ \ (역 슬래쉬)
특수문자(/)의 해석방지
외부 유닉스
명령어 실행
:!명령 :sh ; :r
:ls ; 유닉스 명령의 실행 결과 화면을 현재
편집중인 내용에 불러들임
필터와 명령
:%!tr [a-z][A-Z] ; 전체 텍스트의
영문자를 대문자로 치환 :%!sort
; 정렬
|