본문 바로가기
카테고리 없음

[Linux] 리눅스 파일 수정 (vi/vim 기능) & vi 필수 명령어

by 떵해이 2020. 10. 31.
300x250

Vi & VIM 이 다른것인가? 같은것인가?

 

VIM은 Vi IMproved의 약자 입니다.

vi에디터를 업그레이드 시킨 것이 vim에디터라고 생각하시면 됩니다.

 

vi는 텍스트 편집에 필요한 최소한의 기능만을 가지고 있어서 사용하기 불편합니다. 문법 강조 기능도 없습니다.

vim은 강력한 기능들이 많이 추가되어 있습니다. 그래서 편리합니다.

 

리눅스에는 vim에디터만 설치되어 있습니다. vi라고 쳐도 vim이라고 쳐도 vim으로 실행됩니다.

결론 둘 다 똑같습니다. 

 

리눅스에서 설정하고 공부할 때 가장 많이 쓰이는 거라고 말할 수 있는 파일 편집에 대해 말해보도록 하겠습니다.

 

 

○ vi 편집기 구조

vi 편집기는 명령 모드, 입력 모드, 마지막 행 모드로 총 3가지 모드가 있습니다.

 

① 명령 모드 : 처음 vi 명령어로 vi를 들어가면 명령모드 상태입니다. 방향키를 이용하여 커서 이동 가능하며

                 명령 모드에서 사용할 수 있는 명령어들이 있습니다.

 

아래화면처럼 명령모드에서는 파일이름이 나옵니다.

 

 

② 입력 모드: 명령모드에서 ' i ' 버튼 or ' a ' 버튼을 눌러 입력모드로 전환할 수 있습니다.

                 입력모드에서는 자유롭게 글을 작성할 수 있습니다. 여기서 esc를 누르면 다시 명령모드로 돌아갑니다.

                 (i는 커서 위치부터 수정, a는 커서 다음부터 수정)

 

아래화면처럼 INSERT 상태가 되면 입력모드 상태입니다.

 

 

③ 마지막 행 모드 : 명령모드에서 :(콜론)을 누르면 화면 좌측하단에 입력할 수 있는 공간이 나옵니다.

                         여기서 편집을 저장, 종료 등 여러가지 기능을 수행할 수 있습니다.

 

아래화면처럼 :(콜론)을 눌러서 :이 나오면 마지막 행 모드 입니다.

 

 

○ vi 명령어 정리

(자주 사용하는 것만 기재하겠습니다. 명령어는 더 많이 있습니다.)

 

● 명령 모드 : 엔터를 누르지 않아도 명령이 들어갑니다.

    ▷ i : 현재 커서 위치에 입력모드 전환

 

    ▷ a : 현재 커서 한칸 다음 위치에 입력모드 전환

 

    ▷ o : 현재 위치에서 바로 아래줄에 입력모드 전환

 

    ▷ dd : 현재 커서 위치한 곳에 한 줄 잘라내기

 

    ▷ yy : 현재 커서 위치한 곳에 한 줄 복사

 

    ▷ p : 현재 커서 위치한 곳에 아래줄에 붙여넣기

 

    ▷ u : 방금 한 명령 취소 (윈도우 ctrl + z 랑 비슷함)

 

    ▷ ^ : 현재 커서를 행의 맨 처음으로 이동 (home키랑 똑같음)

 

    ▷ $ : 현재 커서를 행의 맨 마지막으로 이동 (end키랑 똑같음)

 

이동방향키

 

h(←)   j(↓)   k(↑)   l(→)   숫자0(줄의 맨 앞)   $(줄의 맨 뒤)   gg(파일 맨 처음)   G(파일 맨 끝)

 

 

● 마지막 행 모드 : 명령 모드 상태에서 :(콜론)을 눌려 나오는 상태입니다. 명령어를 치고 엔터를 사용해야 합니다.

    ▷ wq : 저장 후 vi 종료

 

    ▷ wq! : 강제 저장 후 vi 종료

 

    ▷ q : vi 종료

 

    ▷ q! : 강제 vi 종료

 

    ▷ /문자열 : 현재 커서 위치에서 부터 파일 앞쪽으로 문자열 탐색

 

    ▷ ?문자열 : 현재 커서 위치에서 부터 파일 뒤쪽으로 문자열 탐색

 

    ▷ set nu : vi 줄 번호 설정 (가독성이 좋아짐)

 

    ▷ set nonu : vi 줄 번호 해제

 

    ▷ s/기존 문자열/바꿀 문자열 : 치환

 

    ▷ %s/기존 문자열/바꿀 문자열 : 전체 치환

 

이 외에 다른 기능들도 있으니 한번 찾아보시기 바랍니다.

 

반응형

댓글