VI 명령어 모드 3가지
1) ESC 모드
2) 편집모드
3) ex모드
ESC 모드에서 사용되는 명령어
^ : 현재줄의 맨앞
G : 화일의 맨끝
0 : 현재줄의 맨앞
$ : 현재줄의 맨뒤
% : 짝을 이루는 기호 확인하기
w : 다음 단어
b : 이전 단어
e : 현재 단어의 끝 글자
커서 움직이기
글자 단위 이동
k : 위쪽
j : 아래쪽
h : 왼쪽
l : 오른쪽
줄 단위 이동
^ : 줄의 맨앞
0 : 줄의 맨앞
$ : 줄의 맨뒤
% : 짝을 이루는 기호 확인
+ : 다음줄의 첫번째 글자
- : 윗줄의 첫번째 글자
n| : 현재줄의 n 번째 열
H : 화면상에 처음줄
nH : 화면상의 처음줄로부터 n 줄 밑으로
M : 화면상의 중간줄
L : 화면상의 마지막줄
nL : 화면상의 마지막줄로부터 n줄 위로
G : 맨 마지막줄
nG : n 번째줄
gg : 맨 마지막줄
ngg : n 번째줄
:n : n 번째줄
단어 단위 이동
w : 한단어 오른쪽
b : 한단어 왼쪽
e : 현재 단어의 끝으로 이동
E : 현재 단어의 끝으로 이동 (영문만)
) : 다음 문장의 시작
( : 이전 문장의 시작
} : 다음 문단의 시작
{ : 이전 문단의 시작
]] : 다음 섹션의 시작
[[ : 이전 섹션의 시작
화면단위 이동
z 커서의 위치와 함께, 화면상의 맨위
nz n번 라인을 화면상의 맨위
z. 커서의 위치와 함께, 화면상의 중간
z- 커서의 위치와 함께, 화면상의 맨아래
Control - F(orward) 한화면 밑으로 이동.
Control - B(ackward) 한화면 위로 이동.
Control - D(own) 반쪽화면 밑으로 이동.
Control - U(pon) 반쪽화면 위로 이동.
Control - E 커서는 현재위치 그대로 화면만 한줄씩
위로 이동
Control - Y 커서는 현재위치 그대로 화면만 한줄씩
아래로 이동
Control - G 현재 편집문서의 정보 보여주기
Control - L 글자가 깨졌을 경우 화면 재표시
(=Control - R)
편집하기
복사/ 붙이기/ 합치기
y 복사하기
yy 한줄복사 (=Y)
nyy n줄 복사
yw 한단어 복사
y2w 두단어 복사
yG 문서의 끝까지 복사
p 붙이기
np 아래로(오른쪽으로) n번 붙이기
P 위로(왼쪽으로) 붙이기
nP 위로(왼쪽으로) n번 붙이기
J 두줄 합치기
nJ n줄 합치기
지우기/바꾸기/되살리기
d 지우기
dd 한줄지우기
ndd n줄지우기
dw 한단어 지우기
dG 문서 끝까지 지우기
D 그줄 끝까지 지우기 (=d$ 와 동일)
c 바꾸기
cc 한줄바꾸기
ncc 여러줄 바꾸기 (n 은 임의의숫자)
cw 한단어 바꾸기
ce 한단어 바꾸기 (공백 제외)
C 그줄 끝까지 바꾸기 (=c$ 와 동일)
r 한글자 바꾸기
R 바꾸면서 덮어 쓰기
s 한글자 지우고 insert 모드로 (=cl )
S 한줄지우고 insert 모드로 (=cc)
~ 대문자 / 소문자 바꾸기 (영문만)
u 되살리기
찾기
/ 찾기반복 - 위에서 아래로 (=n)
? 찾기반복 - 아래에서 위로(=N)
fn 현재줄에서 한 개의 n문자 찾기
Fn 현재줄에서 반대방향으로 한 개의 n문자 찾기
tn 현재줄에서 n문자를 찾아서 앞에 커서놓기
Tn 현재줄에서 반대방향으로 n문자를 찾아서 뒤에 커서놓기
; 현재줄에서 한글자 찾기반복
' 현재줄에서 한글자 찾기반복 (반대방향으로)
편집모드 지정하기
i 현재커서위치
I 현재커서가 위치한 줄의 맨처음에
a 현재커서위치 바로 다음에
A 현재커서가 위치한 줄의 맨끝에
o 현재커서위치 바로 아래줄에
O 현재커서위치 바로 윗줄에
ex 명령어
:n,n1 co n2 n줄 부터 n1줄 까지 n2줄 이후로 복사.
:n,n1 d n1줄 부터 n2줄 까지 삭제.
:.,$ d 현재줄부터 끝까지 지우기
g 옵션 붙이기
:g/word 화일전체에서 마지막으로 word이 쓰여진 줄로
가기
:g/word/ p 화일전체에서 word이 있는줄 보여주기
:g/word/ nu 화일전체에서 word이 있는줄을 번호와 함께 보
여주기
g 옵션과 바꾸기
,n s/old/new/g rn 줄부터 n줄까지 old라는 문자를 new문자로
바꾸면서 확인하기. :%
s/old/new/g 처음줄부터 마지막줄까지 old라는 문자를
new문자로 바꾸기
읽기
:r filename(=ex /usr/local/test) 현재위치에 filename
(=ex /usr/local/test)
읽어들이기
다중편집하기
형식 vi file1 file2 file3
:args 편집중인 화일목록 보여주기
:n 다음 화일로 넘어가기
:prev 이전화일로 돌아가기
새로운 화일 편집하기
:e file_name 새로운 file_name 편집하기.
:e! 현재의 편집중인 내용을 무시하고 가장
최근에 편집한 내용을 다시편집하기
저장 및 종료하기
:w 저장하기 (write)
:q 종료하기 (quit)
:wq 저장하고 종료하기
:x 저장하고 종료하기 (:wq 와 동일)
:w! 강제로 저장하기
(read-only 로 열었을경우)
:wq! 강제로 저장하고 종료하기
:q! 편집한 내용을 저장하지 않고 종료하기
:w fillename 새로운 파일이름으로 저장하기
:w %.new 현재화일 이름에 .new 라는 새로운
확장자로 저장
'OS > LINUX' 카테고리의 다른 글
egrep , awk (0) | 2011.05.14 |
---|---|
YUM 사용법 (0) | 2011.05.13 |
GNU screen (0) | 2011.04.23 |
/etc/sysconfig/i18n - 시스템의 한글 깨짐 문제 해결 (0) | 2011.04.23 |
cut (0) | 2011.04.15 |