IT

VI 명령어

news-wiki 2018. 12. 27. 22:19
728x90

  *


      모드

          o


            1 명령   -   단축키 사용 가능, 입력/실행 모드 변환시 항상 거쳐야함

               1. 입력(a,i,o),실행((실행 :),(색인 /,?))

          o 2 입력   -   편집

          o


            3 EX(실행)   -   저장,종료...

               1.


                  :wq   저장종료 , :q!   강제종료(저장안됨)


                   

    *


      커서 이동

          o h   :   커서를 왼쪽으로 이동

          o j   :   커서를 아래로 이동

          o k   :   커서를 위로 이동

          o


            l   :   커서를 오른쪽으로 이동


             

    *


      커서 이동(단어 단위)

          o  W, w   :   다음 단어의 처음으로 이동(왼->)

          o  E, e   :   단어의 끝으로 이동

          o  B, b   :   단어의 처음으로 이동(<-오른)

          o 영,소,대,숫 를 하나의 단어로 인식!

          o 소문자   :   특수, 띄어쓰기, 개행

          o


            대문자   :   띄어쓰기, 개행


             

    *


      커서 이동(행 단위)

          o 0   :   행의 처음으로 이동(Home)

          o


            $   :   행의 마지막으로 이동(End)


             

    *


      커서 이동(문서 단위)

          o G   :   문서의 마지막으로 이동

          o gg   :   문서의 처음으로 이동


 


 기타 이동


실행 모드 : set nu(라인 넘버 활성화)


z+Enter   :   현재 커서가 위치한 곳을 화면의 처음으로 이동


z+.   :   현재의 위치를 화면의 중앙으로 이동


z+-   :   현재의 위치를  화면의 마지막으로 이동


ctrl + f   :   pageDown


ctrl + b   :   pageUp


ctrl + d   :   half pageDown


ctrl + u   :   half pageUp


ctrl + e   :   화면을 한줄씩 올리기


ctrl + y   :   화면을 한줄씩 내리기


 


비프음 끄기


TUI


setterm -blength 0


setterm -bfreq 10


GUI


xset b off


현재쉘


bash shell   :   /etc/inputrc 에 set bell-style none 추가


Tcsh shell   :   .tcshrc에 set nobeep=1 추가


 


    *


       명령 모드

          o


             책갈피 기능

          o


            설정법   :   m?   ->   ?는 a~z, A~Z

          o


            이동법   :    back quote(`) + ?   :   마크된 정확한 위치로 이동

                +


                     quote(') + ?   :   마크된 줄의 처음으로 이동

          o


            ''   :   원래 위치로 되돌아감

          o


             입력 모드 이동과 복사, 잘라내기, 붙여넣기

          o


            O   :   전줄 입력 모드

          o


            o   :   다음줄 입력 모드

          o


            I   :   해당줄 처음에서 입력 모드(Home+i)

          o


            i   :   커서 앞에서 입력 모드

          o


            a   :   커서 뒤에서 입력 모드

          o


            A   :   해당줄 마지막에서 입력 모드(End+i)

          o


            s   :   현재 문자 지우고 입력 모드

          o


            S   :   현재 행 모두 지우고 입력 모드

          o


            x   :   현재 커서 문자 하나 삭제(연타시 뒤에 것 계속 지움)

          o


            X   :   현재 커서 앞에 있는 것 삭제(백스페이스랑 같은 역할,연타시 전에 것 계속 지움)

          o


            dd   :   행삭제(숫자+dd   :   숫자 행만큼 삭제)

          o


            d$   :   현재 커서 뒤로 해당행 싹 삭제

          o


            yy   :   행 복사

          o


            p   :   복사한 내용 이후 붙여넣기(우)

          o


            P   :   복사한 내용 이전 붙여넣기(좌)

          o


            dvj(dv+)   :    행잘라내기(커서가 있는데 부터 한줄)

          o


            u   :   실행취소

          o


            Ctrl+r   :   원복

          o


             비쥬얼 모드(vim에서 추가된 모드)

          o


            v   :   비주얼 모드 변환 이동키 입력시 블럭 지정됨

          o


            V   :   비주얼 모드로 한줄 블럭 지정

          o


            y   :   복사

          o


            x   :   잘라내기

          o


            d   :   삭제


 


    *


       EX(실행) 모드

          o


              검색(색인)

          o


             /pattern   :   pattern 검색   (:nohl  검색시 색깔을 없애줌)

          o


            ?pattern   :   pattern 검색

          o


            /   :   검색 후 n 키(아래방향), N 키(위방향) 계속 찾기

          o


            ?   :   검색 후 N 키(아래방향), n 키(위방향) 계속 찾기

          o


             치환

          o


             1,5s/\//=/gc   :   1~5줄까지 / 를 =로 치환하는데 g(모두)c(물어본다)

          o


            .   :   현재행

          o


             ^   :   처음행(줄처음)

          o


            $   :   마지막행(줄마지막)

          o


            %   :   전체 범위

          o


            \   :   escape문자

          o


            %   :   문서전체

          o


            .-2,.+3s/test/test2/g   :   현재줄-2,현재줄+3 까지 test -> test2 바꿈

          o


            ^,.s/$/-*/g               :   문서처음,현재줄 까지 모든줄 마지막 에 -* 붙이기

          o


            .,$s/^/ + /g               :   현재줄,문서마지막행 까지 모든줄 처음 에 + 붙이기

          o


            %s/\/usr\/bin\/test/\/usr\/doc\/test/g   :   문서전체에서 /usr/bin/test를 /usr/doc/test 바꿈

          o


             Shell 명령어

          o


            ! [commangd]   :    vi를 잠시 중단하고 명령어 수행

          o


            .! [command]   :   명령어 수행 결과를 vi로 가져와서 커서 뒤에 붙여넣기(주로 새로운 행 만들고 수행)

          o


             Split window(창나누기)

          o


            Ctrl+w+n(split)   :   수평나누기(새로운창열림)

          o


            Ctrl+w+v(vs)   :   수직나누기(똑같은게열림(수정하면 다같이 적용))

          o


            Ctrl+w   :   창이동

          o


            Ctrl+w+h,j,k,l   :   방향창이동

          o


            only   :   창합치기(수정된 내용이 있는 창은 안없앰)   ,   only!(강제창합치기 안좋음 쓰지마세요)

          o


            2split/test/shadow   :   2줄짜리 수평 나누기 /test/shadow를 연다(파일있으면 열고없으면 만들어줌)

                +


                  저장하지 않는한 파일 생성되지 않는다!!

          o


            10vs/test/222         :   10칸짜리 수직 나누기 /test/222를 연다(라인넘버4칸참고)

          o


             EX 모드

          o


            e /test/222   :   /test/222 파일 열기(현재창이 저장 않되었으면 열리지 않는다)

          o


            e! /test/222   :   강제로 불러오기

          o


            enew   :   새로운 창 열기

          o


            enew!   :   강제로 새창 열기

          o


            q   :   정상 종료

          o


            q!   :   강제 종료

          o


            w   :   파일 저장

          o


            w!   :   Read-Only일 경우 강제 저장(파일소유자,관리자)

          o


            w /test/222   :   다른 이름으로 대상 저장

          o


            w >> /test/222   :   대상 밑에 추가

          o


            f   :   현재 작업중인 파일의 이름과 라인수

          o


            9r /test/222   :   9행 다음인 10행부터 붙여넣는다

          o


            9r! ls -l /test/222   :   명령출력값을 10행부터 붙여넣는다

          o


            set ts=4   :   TabSize 4 로 설정(기본은 8)

          o


            set nu   :   Line number 활성화

          o


            set nonu   :   Line number 비활성화

          o


            set ic   :   대소문자 구분하지 않는다(검색시 용이)

          o


            set noic   :   위에것 비활성화

          o


            nohl   :   하이라이트 활성화

          o


              설정 파일

          o


             /etc/vimrc   :   시스템에 로그인 하는 모든 사용자가 공통적으로 적용받는 vim 설정파일

          o


             개별사용자로 설정시   :   /usr/share/vim/vim70/vimrc_example.vim 을

                +


                  사용자홈디렉토리로 복사

                +


                  ex) root 사용자 :

                +


                   cp /usr/share/vim/vim70/vimrc_example.vim /root/.vimrc

                +


                  기본적으로 없으므로 생성이나 복사를 해야함 


728x90

'IT' 카테고리의 다른 글

[공유] Telnet 명령어  (0) 2018.12.27
tar 압축, 풀기  (0) 2018.12.27