-- 하드디스크를 털다보니 예전에 공부할때 썻던게 보이네요..
-- 그냥 가져다 붙여놓은것인지.. 편집을한것인지.. 원작자는 모릅니다..ㅡㅜ
-- 어째튼 vi 때문에 고민하시는 분들께는 도움이될지도 모른다는생각에 공개합니다.
-- 글을올리고나니 쫌 깨지는부분이 있어서 txt 파일로도 첨부합니다.(훨씬깨끗.ㅡㅡ)
---------------------------------------------------------------------------------------------------------------------

vi 에디터 
            1 Cursor 위치를 변경하는 명령들
            2 vi 명령들
            3 자세한 정보를 가져 오려면...
             
  명령을 잘 활용하는 방법은 'man' 명령을 이용하는 것입니다.
  UNIX 명령에 좀 익숙 하신분들은 'man' 명령을 활용 하십시오.
 
1.
                      vi Cursor Positioning 
    - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - -
    :1G (go                                                            :
    :                      /\  ^b (back                                :
    :                      ||                    /\  ^u (up          :
    |----------------------||--------------------||--------------------|
    |H (home                                                          |
    |                              k                  O (open        |
    |I            i (insert        /\    a (append    P (put        A |
    |                              |                                  |
    |O <--------- h <-------  you are here  -------> l -------------->$|
    |                              |                                  |
    |M (middle    (backspace      \/    (space bar    p(put          |
    |                              j                  o (open        |
    |            Y (yank                        /string              |
    |                                            n repeat last search |
    |L (last                                      . repeat last command|
    |----------------------||--------------------||--------------------|
    :                      ||                    \/  ^d (down        :
    :                      \/  ^f (forward                            :
    :\$G (go                                                          :
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  - - - - "
 
 
2. vi 명령들 
                  1 Cursor를 옮기는 여러가지 방법
                  2 화면을 옮기는 여러가지 방법
                  3 한 화면 안에서 cursor를 옮기는 방법
                  4 한 line 안에서 cursor를 옮기는 방법
                  5 검색 
                  6 vi를 빠져나가는 방법 
                  7 삽입 mode 
                  8 Yanking : (Copying
                  9 Deleting 
                10 Putting 
                11 Interactive edit : (search and replace
                12 Global 명령
                13 Reading in files 
                14 여러 화일의 edit
                15 Miscellancenous commands 
 
1 Cursor를 옮기는 여러가지 방법 
                                      k(-
                                        /\ 
                                        ||
                        h(bs    <-----      ----->  l(sp
                                        ||
                                        \/
                                      j(+
        h,j,k 와 i 를 이용하영 간단히 키보를 누르면 cursor의 위치가 변 
        경됩니다.
        (에 있는 키를 선택하여도 됩니다.
        bs : BackSpace                      sp : SPace bar "
 
2 화면을 옮기는 여러가지 방법 
                  ^f  -  (FORWARD 화면을 one page 앞으로 옮김
                  ^b  -  (BACKWARD 화면을 one page 뒤으로 옮김
                  ^d  -  (DOWN 화면을 반 page 앞으로 옮김
                  ^u  -  (UP 화면을 반 page 뒤으로 옮김
              ^  는 키보드의 ctrl 를 나타내는 것입니다."
 
3 한 화면 안에서 cursor를 옮기는 방법 
            H  -  HOME, 한 화면의 top line으로 옮긴다.
            M  -  MIDDLE, 한 화면의 중간으로 옮긴다.
            L  -  LAST, 한 화면의 마지막  line으로옮긴다.
            G  -  GOTO,  화일의 마지막  line으로 옮긴다.
            nG -  GOTO nth line the file (or :n
            ^G -  GIVES file status 
              ^  는 키보드의 ctrl 를 나타내는 것입니다."
 
4 한 line 안에서 cursor를 옮기는 방법 
                      w  -  WORD, 한단어 앞으로
                      b  -  BACKWARD, 한단어  뒤로
                      e  -  END, 현재 cursor가 위치한 맨 뒤로
                      o  -  zero, line의 맨 앞으로 (or ^
                      $  -  end, line의 맨뒤로"
 
5 검색 
        /pattern -  scan (/ 'pattern'이라는글자를 현재 cursor가
                    위치한 곳의 다음 단어를 검색
        ?pattern -  scan (? 'pattern'이라는 글자를 현재 cursor가
                    위치한 곳의 앞 단어를 검색
        n    -  앞쪽에서 입력했었던 문자 'pattern' 의 다음단어를 검색
        N    -  앞쪽에서 입력했었던 문자 'pattern' 의 다음 앞 단어를 
                  검색"
 
6 vi를 빠져나가는 방법 
          :q!  -  화일의 내용을 저장하지 않고 exit
          :w  -  WRITE, vi를 빠져나가지 않으면서 내용을 저장
          :wq  -  WRITE and QUIT, vi를 빠져나가면서  내용을 저장
          ZZ  -  :wq의 명령과 같다."
 
7 삽입 mode 
            i  -  INSERT, cursor 위치 부터 문자 삽입
            I  -  INSERT, line의 맨 앞부터 문자 삽입
            a  -  APPEND, cursor 다음 위치 부터 문자 삽입
            A  -  APPEND, cursor 위치한 line의 끝부터 문자 삽입
            o  -  OPEN line, 현재의 line 다음에 line 삽입
            O  -  OPEN line, 현재의 line 앞에 line 삽입
            r  -  REPLACE, 한 문자만을 대치 (does not require ESC
            R  -  REPLACE, ESC 키가 입력될때 까지 대치 
            cw  -  CHANGE word, cursor가 위치한 곳의 단어 끝까지 대치
                    (cnw - change n number of words
            C  -  CHANGE, cursor가 위치한 곳에서 line 끝까지 대치
            u  -  UNDOES, 마지막 명령의 취소
            U  -  UNDOES, line전체를 원 상태로 복구
Note :  INSERT mode 를 만든는 모든 문자(i, a, o,r, c, s <대문자 포
        함>를 사용하는 경우 insert mode에서 입력 한 내용을  취소하고
        자 하면, ESC 를 누르고 undo를 수행하는 u를 입력하면 된다.
Note :  ESC (escape key 는 삽입(insert를 중지 시키고 명령어 mode로 
        돌아가는 키이다."
 
8 Yanking : (Copying 
        Y  -  YANKS (copies line을 사용자가 보이지 않는 buffer에 저장
        yy -  YANKS (copies line을 사용자가 보이지 않는 buffer에 저장
        nY -  YANKS n , n line을 사용자가 보이지 않는 buffer에 저장"
 
9 Deleting 
        x  -  deletes, 문자 하나를 삭제 (also 'd sp'
        dw  - DELETES words, 문자 하나를 삭제 
        D  -  DELETES, cursor가 있는 곳에서 부터 line끝 까지 삭제 
        dd  -  DELETES lines, line하나를 삭제 하고 보이지 않는 buffer
              에 저장
        ndd -  DELETES n, n line을 삭제 하고 보이지 않는 buffer에 저장
              (i.e., 10dd deletes 10 lines"
 
10 Putting 
        p  -  PUTS, cursor가 위치한 다음 line에 보이지 않는 buffer의
              내용을 삽입
        P  -  PUTS, cursor가 위치한 앞 line에 보이지 않는 buffer의
              내용을 삽입
        xp -  cursor 가 위치한 문자와 다음 문자를 교환"
 
11 Interactive edit : (search and replace 
        /pattern -  find, pattern이라는 문자를 검색
        cw      -  change word, 단어를 대치 (cw. dw, r, s, etc.
        n        -  find, 앞에서 검색했던 'pattern'이라는 문자를 검색
                    하는 반복 명령
        N        -  find, 앞에서 검색했던 'pattern'이라는 문자를 역순
                    으로 검색 하는 반복 명령"
 
12 Global 명령 
                Global replacement 
                :1,\$s/string1/string2/g
                1 line부터 끝까지 string1 를 string2 로 대치
        e.g.,  :1,\$s/sun/SUN/
                      Global delete 
                :g/pattern/d
                1 line부터 끝까지 pattern 을 제거
        e.g.,  :g/###/d (to delete lines inserted by cc file.c | & 
                error-v"
 
13 Reading in files 
        :r  file2 - cursor가 위치한 다음 line에 file2를 삽입"
 
14 여러 화일의 edit 
        :w      -  다른 화일을 읽기전에 현재의 화일을 저장 (file1
        :e file2  -  두번째 file을 edit하기 위해 load (file2
        :w      -  두번째 화일을 저장 (file2
        :e #    - original file 을 수정하기 위해 load (file1
        example:w              /* file1을 빠져 나가기전에 저장*/
                :e file2        /* file2 load  */
                        \"x4Y  /* buffer 'x'에 file2의 top 4 line을 
                                  저장 */
                :e #            /* file1 을 load (no changes */
                        \"xP    /* buffer 'x'에 저장 되어 있는 내용을 
                                  put */"
 
15 Miscellancenous commands 
        :! cmd  -  editor안에서 shell command를 수행 하고자 할때
        ~      -  (tilde or 'wavy', 대문자를 소문자로 소문자를 대문자
                    로 교환
        %      -  한 line안에서 (,,{,},[,]를 검색
        mx      -  문자 x에 현재 위치를 표시
        d'x    -  문자 x에 표시된 위치 부터 현재 cursor 위치 까지 삭
                    제
        ^V      -  allows for insertion of control characters (e.g., 
                  ^L
        ?string -  scan (/ backward for 'pattern'
        :n,m w file -  n line에서 m line까지 내용을  file 이라는 이름 
                      으록 (e.g., 15,25 w file
        J      -  JOINS, cusor가 있는 line과 다음 line을 join 
        :set ai -  editor 가 자동적으로 insert tabs을 삽입
        :set list -  special characters 를 보여줌
                    (i.e., non-printable characters
        :set nows -  stop wraparound search
        :set ts=n -  set tab stops to be other than the default (8
        :set wm=n -  set wrap margin (automatic carriage return insert 
                    at n"
2009/04/12 17:36 2009/04/12 17:36

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다