System/OS
2003.04.23 10:26

[linux] 간단한 vi편집기 사용 명령

Views 13456 Votes 0 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
환경:
        :set nu                # 라인줄 보기
        :set nonu                 # 라인줄 취소
        :wq(:ZZ)                 # 저장하고 빠져 나오기
        :q!                # 그냥 빠져 나오기
        :syntax off                # 글자 안나올 때 syntax hilighting 기능을 꺼버린다

이동: h, j, k, l
        ^(0)                # 그 줄의 처음으로
        $                # 그 줄의 끝으로
        G([[)                # 그 파일의 끝으로 이동
        1G(]])                # 그 파일의 첫줄로 이동
        w(W)                # 우측으로 한단어(빈칸까지) 이동하고 단어의 앞에 위치 word
        b(B)                # 좌측으로 한단어(빈칸까지) 이동하고 단어의 앞에 위치 back
        e(E)                # 우측으로 한단어(빈칸까지) 이동하고 단어의 끝에 위치 end
        H                # 한 화면의 처음으로 이동 high
        M                # 한 화면의 중간으로 이동 middle
        L                # 한 화면의 끝으로 이동 low
        ctrl+g                # 정보 보기(파일이름, 커서의 줄넘버, 총 줄)
        ctrl+f                # 아래로 한화면 이동 forward
        ctrl+b                # 위로 한화면 이동 backward
        ctrl+d                # 아래로 반화면 이동 down
        ctrl+u                # 위로 반화면 이동 up
        6j                # 아래로 6칸 이동
        6k                # 위로 6칸 이동

입력모드:
        a(A)                # 현재 커서의 문자뒤에서(그줄뒤에서) 입력모드 append
        i(I)                # 현재 커서의 문자앞에서(그줄앞에서) 입력모드 insert
        o(O)                # 현재 커서의 다음줄에(위줄에) 빈칸을 새로 만들고 입력모드

바꾸기:
        x                # 우측으로 한문자 지우고 명령모드
        X                # 좌측으로 한문자 지우고 명령모드
        s                # 한문자를 지우고 입력모드
        r                # 한문자만 바꿔치기
        R                # 한문자씩 계속 진행하면서 바꿔치기 한다
        C                # 현재커서 위치에서 줄의 끝까지 지우고 입력모드 
        cw                # 우측으로 한단어 지우고 입력모드 change word
        cb                # 좌측으로 한단어 지우고 입력모드 change back
        J                # 현재 줄을 다음줄과 한줄로 연결

복사, 붙여넣기(p), 잘라내기:
        dG                # 현재 커서가 있는 줄부터 끝줄까지 잘라내기
        d1G                # 현재 커서가 있는 줄부터 처음줄까지 잘라내기
        yw                # 우측으로 한단어 복사
        yb                # 좌측으로 한단어 복사하고 단어 앞으로 이동
        y0                # 좌측으로 그줄 처음까지 복사하고 그줄 앞으로 이동
        y$                # 우측으로 그줄 끝까지 복사
        dd(yy)                # 한줄 잘라내기(복사)
        3dd(3yy)        # 세줄 잘라내기(복사)
        6x                # 커서가 있는 문자부터 6개의 문자를 지우라
        6s                # 커서가 있는 위치의 문자부터 6개의 문자를 지운 후 입력모드로 전환
        6r                 # 6개의 문자 각각을 모두 다음에 입력하는 하나의 문자로 바꾼다 
        6r0                # 현재 커서가 있는 위치부터 7개의 문자를 '0' 즉 '0000000'으로 바꾼다

찾기:
        ?'findword'        # 특정단어 찾기
        /'findword'        # 특정단어 찾기
        /'findword'        # 특정단어를 문자로 인식해서 찾기 예 ., .., $, ^ 등
        n                # 뒤로 찾기
        N                # 앞으로 찾기
            :1,$s/^M//g        # ^M(ctrl+v+M) 문자 일괄 지우기
        :%s/oldword/newword/g   # 처음부터 끝까지에서 특정단어를 새단어로 바꾼다

버퍼를 이용한 복사, 붙여넣기, 잘라내기:
        "a2yy                # 현재 커서가 있는 줄을 포함해서 2줄을 버퍼(") a에 넣는다
        "by$                # 현재 커서가 있는 위치부터 줄의 끝까지의 내용을 버퍼(") b에 넣는다
        ap                # a에 저장된 2줄의 내용을 현재 커서가 있는 줄 다음에 붙여 넣는다
        bp                # 버퍼 b에 저장된 내용을 현재 커서가 있는 문자의 뒤에 붙여 넣는다

편집모드 고급활용:
        :!'command'        # 편집모드 상태에서 명령어 실행
        :sh                # 편집모드에서 잠시 쉘로 나가 작업하고 $ exit, ctrl+d로 다시 원래 편집모드로 돌아옴
        :e 'newfile'        # 편집모드에서 새파일을 편집
        :e 'oldfile'        # 편집모드에서 이전파일을 편집
        :e#                # 이전 편집파일 불러오기
        :e!(q!)                # 수정 내용 취소

?

List of Articles
No. Category Subject Author Date Views
1093 Etc RSVP 란? file hooni 2017.11.22 981
1092 Database [mysql] 중복데이터 삭제하는 초간단 쿼리 hooni 2017.11.22 3421
1091 System/OS [mac] How to uninstall MySQL on Mac OS. hooni 2017.11.08 884
1090 System/OS OpenSSL로 ROOT CA 생성 및 SSL 인증서 발급하기 hooni 2017.10.28 1455
1089 System/OS 무료로 HTTPS 적용하기 (Let's Encrypt) file hooni 2017.10.28 1401
1088 Etc How to completely Uninstall Coda hooni 2017.10.24 2144
1087 Etc 영어. 불규칙 동사 정리 file hooni 2017.10.04 3501
1086 System/OS [linux] iptables 초간단 세팅 스크립트 hooni 2017.09.26 1237
1085 Develop [ios] VIN Scanner (VIN barcode) 스캐너 file hooni 2017.09.16 644
1084 System/OS [mac] Homebrew/rvm/cocoapod setting hooni 2017.07.29 997
1083 Etc 캘리포니아 운전면허 문제 file hooni 2017.07.22 976
1082 Develop [android] 안드로이드 앱 문서 샘플 - NCComix file hooni 2017.07.11 2103
1081 Develop [coding] 공부해야 하는거 ㅋㅋ secret hooni 2017.06.27 0
1080 Develop [coding] Find all anagrams in a string hooni 2017.06.27 1138
1079 Etc IT감사 기법 시험 file hooni 2017.06.14 1416
1078 Develop [android] SQLiteOpenHelper를 이용한 DBManager hooni 2017.06.14 2060
Board Pagination Prev 1 4 5 6 7 8 ... 74 Next
/ 74