vi 명령어 요약

vi 명령어 요약

1.시작
    vi file vi를 시작하여 지정한 파일 편집
    vi -R file 읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집
    view file 읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집

2.종료
    :wq 데이터를 저장하고 종료
    :q! 데이터를 저장하지 않고 종료

3. 시스템이 다운된 후에 되살리기
    vi -r 되살릴 수 있는 모든 파일 이름 보여주기
    vi -r file vi를 시작하여 지정한 파일 되살리기

4. 디스플레이 제어하기
    ^L 현재 화면을 다시 디스플레이하기
    :set number 내부 줄 번호 디스플레이
    :set nonumber 배부 줄 번호 디스플레이 않기

5. 마지막으로 지운 것 복사하기
    p 마지막으로 지워진 것을 커서의 뒤/아래에 삽입
    P 마지막으로 지워진 것을 커서의 앞/위에 삽입
    xp 두 문자를 바꿈
    deep 두 단어를 바꿈
    ddp 두 줄을 바꿈

6. 패턴 검색
    /rexp 지정된 정규 표현식에 대해 앞으로 이동
    / 이전의 패턴에 대해 앞으로 검색을 반복
    ?rexp 지정된 정규 표현식에 대해 뒤로 이동
    ? 이전의 패턴에 대해 뒤로 검색을 반복
    n /나 ?명령에 대해 같은 방향으로 반복
    N /나 ?명령에 대해 반대 방향으로 반복

7. 약어의 사용
    :ab short long short를 long에 대한 약어로 변경
    :ab 현재 약어 목록을 표시
    :una short 약어 short를 표시

8. 줄 길이의 조정
    r 문자를 뉴라인으로 변경
    J 줄의 결합
    :set wm=n 오른쪽으로 n문자 위치에서 자동적으로 줄 나눔

9. 커서 이동
    h 커서를 한 칸 왼쪽으로 이동
    j 커서를 한 줄 아래로 이동
    k 커서를 한 줄 위로 이동
    l 커서를 한 칸 오른쪽으로 이동
    커서를 한 칸 왼쪽으로 이동
    커서를 한 칸 오른쪽으로 이동
    - 커서를 이전 줄의 처음으로 이동
    + 커서를 다음 줄의 처음으로 이동
    커서를 다음 줄의 처음으로 이동
    0 커서를 현재 줄의 맨 앞으로 이동
    $ 커서를 현재 줄의 맨 끝으로 이동
    ^ 커서를 현재 줄의 첫글자(공백이나 탭이 아닌)로 이동
    w 커서를 다음 단어의 첫 글자로 이동
    e 커서를 다음 단어의 끝 글자로 이동
    b 커서를 이전 단어의 첫 글자로 이동
    W w와 같음(문장 부호 무시)
    E e와 같음(문장 부호 무시)
    B b와 같음(문장 부호 무시)
    ( 다음 문장의 처음으로 이동
    ) 이전 문장의 처음으로 이동
    { 다음 문단의 처음으로 이동
    } 이전 문단의 처음으로 이동
    H 커서를 화면 맨 위로 이동
    M 커서를 중간으로 이동
    L 커서를 맨 아래로 이동

    10. 편집 버퍼를 통한 이동
    ^F 한 화면 아래로 이동
    ^B 한 화면 위로 이동
    n^F n화면 아래로 이동
    n^B n화면 위로 이동
    ^D 반 화면 아래로 이동
    ^U 반 화면 위로 이동
    n^D n줄만큼 아래로 이동
    n^U n줄만큼 위로 이동

11. 셸 명령 실행
    :!command vi를 중단하고 지정한 셸 명령을 실행
    :!! vi를 중단하고 이전의 셸 명령을 실행
    :sh vi를 중단하고 셸을 실행
    :!csh vi를 중단하고 새로운 C-셸을 실행

12. 패턴에 의한 치환
    :s/pattern/replace/ 현재 줄의 치환
    :lines/pattern/replace/ 지정한 줄의 치환
    :line,lines/pattern/replace/ 지정한 범위의 치환
    :%s/pattern/replace/ 모든 줄의 치환
    1,$s/aaaaa/bbbbb/g 모든줄의 치환

13. 데이터 읽기
    :liner file file의 내용을 지정한 줄 다음에 삽입
    :r file file의 내용을 현재의 줄 다음에 삽입
    :liner !command command의 결과를 지정한 줄 다음에 삽입
    :r !command command의 결과를 현재의 줄 다음에 삽입
    :r !look pattern 지정한 pattern으로 시작된 단어 삽입

14. 정규 표현식을 사용하기 위한 특수 기호
    . 뉴라인을 제외한 모든 단일 문자와 대응
    * 영 또는 그 이상의 선행 문자와 대응
    ^ 줄의 시작과 대응
    $ 줄의 끝과 대응
    \< 단어의 시작과 대응
    \> 단어의 끝과 대응
    [ ] 묶여진 문자중의 하나와 대응
    [^ ] 묶여진 문자를 제외한 아무것하고나 대응
    \ 이어지는 기호를 문자 그대로 해석

15. 줄 번호
    nG 줄번호 n으로 건너뛰기
    1G 편집 버퍼의 첫 줄로 건너뛰기
    G 편집 버퍼의 마지막 줄로 건너뛰기
    :map g lG g가 lG와 같도록 매크로 정의

16. 삽입
    set noautoindent set nocindent
    i 입력 모드로 전환, 커서 위치 앞에서 삽입
    a 입력 모드로 전환, 커서 위치 뒤에서 삽입
    I 입력 모드로 전환, 현재 줄의 앞에 삽입
    A 입력 모드로 전환, 현재 줄의 끝에 삽입
    o 입력 모드로 전환, 현재 줄의 아래에 전개
    O 입력 모드로 전환, 현재 줄의 위에 전개

17. 편집하고 있는 파일을 바꾸기
    :e file 지정한 파일의 편집
    :e! file 지정한 파일의 편집, 자동 점검의 생략

18. 내용 고치기
    r 단지 한 글자만 변경(입력 모드로 바뀌지 않음)
    R 입력하는 대로 겹쳐 써서 변경
    s 삽입에 의해 한 단어의 변경
    C 커서의 위치로부터 줄 끝까지 삽입에 의한 변경
    cc 전체 줄을 삽입에 의한 변경
    S 전체 줄을 삽입에 의한 변경
    cmove 커서부터 move까지 삽입에 의해 변경
    ~ 대,소문자 바꾸기

19. 고치기의 취소 또는 반복
    u 편집 버퍼를 수정했던 마지막 명령을 취소
    U 현재 줄을 저장
    . 편집 버퍼를 수정했던 마지막 명령 반복

20. 문자 삭제
    x 커서가 있는 문자 삭제
    X 커서의 왼쪽 문자 삭제
    D 커서부터 줄의 끝까지 삭제
    dd 현재 줄의 전체 삭제
    dmove 커서부터 move까지 삭제
    dG 커서부터 편집 버퍼의 끝까지 삭제
    d1G 커서부터 편집 버퍼의 맨 앞까지 삭제
    :lined 지정한 줄의 삭제
    :line, lined 지정한 범위의 삭제

21. 여러 줄의 복사와 이동
    :linecotarget 지정한 줄을 복사하여 target 줄 밑에 삽입
    :line, linecotarget 지정한 범위를 복사하여 target 줄 밑에 삽입
    :linemtarget 지정한 줄로 이동하여 target 줄 밑에 삽입
    :line, linemtarget 지정한 범위로 이동하여target 줄 밑에 삽입

22. 데이터를 처리하기 위한 셸 명령의 사용
    n!!command n번 줄에서 command의 실행
    !move command 커서부터 move까지 command 실행
    !move fmt 커서부터 move까지 줄들을 형식 맞추기

23. 데이터 저장하기
    :w 원래의 파일로 데이터를 저장
    :w file 지정한 파일로 데이터를 저장
    :w>> file 지정한 파일에 데이터를 추가

by 스폴 | 2009/11/02 15:53 | Programming | 트랙백

◀ 이전 페이지          다음 페이지 ▶