Java & Oracle

vi editor day5

AlreadyNo 2014. 2. 21. 12:11

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 파일을 그 커서 밑에 덧 붙인다.