vi editor day5
vi editor
1. Billy Joy가 만듬. ex, ex ---> VIM 을 요즘은 많이 사용
2. 3가지 Mode
1) Command Mode
2) Insert Mode
3) Line Mode
4) Mode 변환
a. Command Mode -- i, I, a, A, o, O --> Insert Mode
b. Insert Mode -- EXC --> Command Mode
c. Command Mode -- : --> Line Mode
3. 사용이유
1) 그래픽이 지원되지 않는 환경에서의 에디터
2) 키보드로 모든 것을 할 수 있다.
3) 사용하면 할 수록 편리하다.
4) 매우 가볍고 풍부한 기능을 갖고 있다.
4. 실행 및 종료
1) vi
2) vi filename
a. 파일이 있으면 오픈하고, 파일이 없으면 새로 생성
b. 파일의 이름은 임의로 주되, 특수문자(+, %, $, -, =) 등은 사용할 수 없다.
c. 처음 실행하면 빈 행은 ~로 표시되며, 파일이름으로 실행하면 화면 제일 아래쪽에 [New File] 메시지를 표시한다.
3) 종료
a. Command Mode 에서 :를 입력하여 라인 모드로 변환한 후,
b. :q --> 그대로 종료
c. :q! --> 변경된 내용을 저장하지 않고 강제 종료
d. :wq --> 저장하고 종료
e. :x --> 저장하고 종료
f. 만일 vi 를 실행할 때 파일의 이름을 넣지 않을 경우, 종료할 때 :wq filename 을 입력한다.
-filename 이 기존의 파일과 동일하면 불능 메시지가 보인다.
-Overwrite 하려면 :w! filename을 사용한다.
-기존의 파일에 추가하려면 :w >> filename 을 사용한다.
5. 커서의 이동
1) 글자 단위로 이동 : h(좌), j(아래), k(위), l (우)
2) 단어 단위로 이동 : w(다음 단어 시작), b(이전 단어 시작), e(단어 끝, 커서가 끝에 있으면 다음 단어 끝)
3) 라인 단위로 이동 : Enter key(다음 라인의 시작), -(minus, 이전 라인의 시작), +(plus, 다음 라인의 시작), 0(zero, 라인의 처음), $(라인의 끝)
4) 문단 단위로 이동 : (, { --> 문단의 시작, ) } --> 문단의 끝
5) 화면 단위로 이동 :
a. ctrl + u : 반 화면 위로 스크롤
b. ctrl + d : 반 화면 아래로 스크롤
c. ctrl + b : 한 화면 위로 스크롤
d. ctrl + f : 한 화면 아래로 스크롤
6) 문서 단위로 이동 :
a. gg, 1G : 문서의 첫 행으로 이동
b. G : 문서의 끝 행으로 이동
c nG : n --> 특정 라인으로 이동(n은 라인 숫자)
6. 입력
a. i --> 커서의 왼쪽부터 입력
b. I --> 현재 커서가 위치한 라인의 처음부터 입력
c. a --> 커서의 오른쪽부터 입력
d. A --> 현재 커서가 위치한 라인의 끝부터 입력
e. o --> 현재 커서가 위치한 다음 라인에 입력
f. O --> 현재 커서가 위치한 이전 라인에 입력
7. 삭제
1) 글자 단위로 삭제 :
a. x, dl --> 현재 커서의 글자를 삭제
b. X, dh --> 현재 커서의 왼쪽의 글자를 삭제
2) 단어 단위로 삭제 : dw
3) 라인 단위로 삭제 :
a. d0(zero) : 현재 커서의 위치로부터 라인 처음까지 삭제
b. d$ : 현재 커서의 위치로부터 라인의 끝까지 삭제
c. dd : 라인을 삭제 후 행까지 삭제
d. D : 라인 삭제 후 빈 행은 남김 - 난 d$의 기능이 나오던데... ??
4)화면 단위로 삭제
a. dL : 현재 화면 삭제 - 현재 커서부터 화면의 끝까지 삭제되는 듯.
b. dG : 나머지 삭제 - 이건 현재커서 부터 밑에 끝까지 다 삭제.
c. dH : 화면의 시작까지 삭제
5) 갯수 지정 삭제
a. nx : n개 글자 삭제
8. 복사 & 붙이기 (copy의 y가 약자임..)
1) yw : 현재 커서가 위치한 한 단어를 복사
2) yy : 현재 커서가 위치한 한 라인을 복사
3) nyw : n개의 단어를 복사, nyy : n개의 라인 복사
4) p : 붙여넣기
5) np : n번 붙여넣기
9. 블록 지정하기
a. 여러 라인 블록 지정 : 원하는 위치에 v를 누르고 j를 아래로 이동
b. 블록 복사 : 여러 라인 블록 지정 후 y를 누른다.
10. 잘라내기
a. 글자 단위, 단어 단위, 라인 단위로 삭제 후, 커서를 이동 한 다음 p를 누른다.
b. 블록 단위로 잘라내기를 하려면, 블록 지정후 d 키를 눌러 삭제 한 다음, 커서를 이동한 다음, p를 누른다.
11. 검색
a. 정방향 검색 : /string
b. 역방향 검색 : ?string
c. 다음 찾기 : n
d. 이전 찾기 : N
12. 창 분할
a. 수평 분할 : ctrl +w 누르고 s 누름
b. 창 간의 커서 이동 : ctrl + w 누르고 w 한번 더 누름
c. 커서가 위치한 창 종료 : ctrl +w 누르고 q
d. 커서가 위치한 창 닫기 : ctrl + w누르고 c
e. 창을 새로 나누기 : ctrl + w 누르고 n - 기존 창에서 나누어진 창에 새로운 정보를 입력할 수 있게.
vi a b c : a b c 파일을 순서대로 열 때, 이렇게 치면 a파일만 열린다. 그리고 :n을 치면 다음 파일을 볼 수 있다.
:r filename 은 예를 들면 :r test 로 치면 현재 작성중인 상태에서 test 파일을 그 커서 밑에 덧 붙인다.