Day6. 기본 명령어 part 5 (vi editor에서 사용하는)

2016. 3. 9. 17:26리눅스

  < vi editor 명령어 > 

 

  원하는 곳에 커서를 두고 

 1. m + a~z (이 중 하나 아무거나) : 현재 커서 위치를 저장

 다른 곳으로 커서를 옮겨서

 2. ` + a~z(1번에서 누를 알파벳과 동일한 것을 입력) : 1번에서 저장한 커서 위치로 이동한다.

  ∴ m : 커서의 위치를 저장

 3. i (insert) : 커서 앞 쪽에 삽입

 4. a (append) : 커서 뒤 쪽에 삽입

 5. o (over) : 아래쪽에 행을 추가한 후에 삽입

 6. O (Over) : 위쪽에 행을 추가한 후에 삽입

 7. R (Replace) : 수정

 8. x : 커서 위치 문자 삭제 (=delete)  => 뒤에 더이상 지울게 없으면 ←(back space)의 기능을 수행

 9. X : 커서 앞 문자 삭제(=back space)

 10. dd : 행 삭제 => (num) dd : num개의 행을 삭제

          : 두번째 d는 변경하여 다른것과 조합하여 사용가능

          ex) dw : 한 단어 삭제 , db : 이전 단어 삭제, d0 : 행의 처음부터 커서이전까지 삭제

              d$ : 커서부터 행의 마지막까지 삭제, dgg,dG : 지금 행을 포함하여 문서 맨앞까지 또는 마지막행까지 삭제

 11. yy : 행복사 => (num) yy : num개의 행만큼 복사

 12. p : 붙여넣기(커서의 아래쪽에)

 13. P : 붙여넣기(커서의 위쪽에)

 14. yw : 커서가 위치해 있는 단어를 복사 => p : 커서 뒤쪽에 삽입 , P : 커서 앞쪽에 삽입

 15. yb : 커서가 위치해 있는 곳의 앞 단어를 복사 => p : 커서 뒤쪽에 삽입 , P : 커서 앞쪽에 삽입

 16. u (undo) : 실행취소 => 계속 뒤로 간다.

 17. U (redo) : 바로 이전단계 실행만 실행 취소 => 두번 누르면 원상태로 다시 돌아온다.

 18. r (replace) : 커서 위치의 한글자만 수정 => 오타나 수정할 때 많이 사용

 19. / [ 검색어 ] : 위에서부터 해당 검색어를 찾을 때 사용 

                 → n : 다음 단어로 넘어 갈 때 사용 (검색된 단어가 여러개 일 때)

                 → N : 이전 단어로 넘어 갈 때 사용  

 20. ? [ 검색어 ] :  아래서부터 해당 검색어를 찾을 때 사용

 21. :set nu(or num) : 줄번호 생성 => 문서를 저장할 때는 줄번호는 저장되지 않는다.

 22. :set nonu(or nonum) : 줄번호 제거 

 23. (num)G : num행으로 이동 => prompt창에 치는게 보이지 않는다. => 오타 확률 증가 

     :(num) : num행으로 이동 => prompt창에 치는게 보인다. => 이것을 이용하는게 좋다. 

----------------------------------------------------------------------------------------------------- 

 < 단어를 찾아 원하는 단어로 바꾸는 방법 >   

 :<범위>s/찾을단어/바꿀단어/g  

 

   ① :5s/etc/madal/g -> 5번째줄의 etc를 madal로 변경

   ② :7,12s/init/dalma/g -> 7~12행의 init을 dalma로 변경

   ③ :%s/init/samadal/g -> 문서(전체)에서 init을 samadal로 변경

 

 < vi prompt 창에서 명령어 실행 방법 >

   ① :! [command] -> vi 잠시 정지하고 명령어 실행

   ② :.! [command] -> 명령어 실행 결과를 현재 문서에 삽입

                            -> 현재 커서 위치부터 삽입된다.

                            -> 커서 위치의 행의 내용이 삭제 된다. 

------------------------------------------------------------------------------------------------------ 

 1. :q : 종료 => 내용변화가 없을 때만 사용 가능 

 2. :wq : 저장 후 종료 

 3. :w : 저장 

 4. :q! : 저장하지 않고 강제 종료 

 5. :wq! : 강제 저장 후 종료 

 6. :w [file] : 다른 이름으로 저장 

 7. :enew : 새문서 

 8. :e [file] : file 열기 

 9. :w >> [file] : 현재 문서의 내용을 file에 저장 

 10. :(num) r [file] : num행 아래부터 file 삽입 

 11. :f : 문서 정보를 알려준다. => 현재 작업위치 출력(커서의 위치)