vi 에디터 사용방법

임정혁·2023년 8월 13일
1

vi 에디터

  • 굉장히 오래 된 CLI 환경의 문서 편집기

  • 90년대에 vi 에디터를 기반으로 한 vim 편집기가 만들어짐

    • 그 후로 vi 에디터를 말하면 vim 에디터를 말한다
  • 사용환경

    • 명령모드 : 기본 사용 환경, 커서 이동, 복사/ 잘라내기/붙여넣기, 실행취소/다시실행, 삭제, 입력/실행 모드 전환

    • 입력모드 : 내용의 편집을 위한 환경, 파일 내용의 입력/ 수정/ 삭제, 명령 모드 전환

    • 실행모드 : 그 외 대부분의 기능들을 위한 환경, 명령 모드 전환

    • (ex 모드)

  • vi 실행 명령

    • vi : 빈 파일 열기

    • vi 파일명 : 해당 파일 열기

명령모드 사용방법

커서이동

  • 1) 글자 단위 커서 이동

    • h : 한 글자 왼쪽으로 이동

    • j : 한 글자 아래로 이동

    • k : 한 글자 위로 이동

    • l : 한 글자 오른쪽으로 이동

  • 2) 단어 단위 커서 이동

    ( 소문자로 입력하면 특수문자를 별개의 단어로 인식
    대문자로 입력하면 공백문자와 개행문자만으로 단어를 구분)

    • w : 다음 단어의 첫 글자로 이동

    • b : 이전 단어의 첫 글자로 이동

    • e : 다음 단어의 마지막 글자로 이동

  • 3) 줄 내부 커서 이동

    • 0 : 줄의 첫 글자로 이동

    • $ : 줄의 마지막 글자로 이동

  • 4) 화면 내부

    • H : 화면의 첫 줄로 이동

    • M : 화면의 가운데 줄로 이동

    • L : 화면의 마지막 줄로 이동

  • 5) 문서 내부 커서 이동

    • gg : 문서의 첫 줄로 이동 ( = [[ )
    • G : 문서의 마지막 줄로 이동 ( = ]] )
    • :숫자 : 숫자 만큼의 라인으로 이동

    입력모드 전환

    • i : 커서 왼쪽으로 내용 입력

      I : 그 줄의 맨 왼쪽에서 내용 입력

    • a : 커서 오른쪾으로 내용 입력

      A : 커서 맨 오른쪽에서 내용 입력

    • o : 커서 아래쪽에 빈 줄 삽입 후 내용 입력

      O : 커서 위쪽으로 빈 줄 삽입 후 내용 입력

    • s : 커서가 있던 글자를 지우고 내용 입력

      S : 그 줄 전체가 사라지고 내용 입력

    실행취소

  • u : 마지막으로 수행한 동작 취소 (되도리기)

    • 닥시 누르면 취소한동작을 재수행 (다시 실행)

    삭제

    커서가 있는 줄의 내용만 삭제

  • x : 커서 뒤쪽의 내용을 삭제 (delecte 기능)

    • 뒤쪽의 내용을 다 지우면 앞쪽의 내용을 삭제(backspace 전환)
  • X : 커서 앞쪽의 내용을 삭제 (backspace 기능)

    • 앞쪾 내용을 다 지운 후 기능 전환

    복사, 잘라내기, 붙여넣기

  • yy : 커서가 있는 줄 복사

    • 숫자 + yy : 커서가 있는 줄 부터 숫자만큼의 줄 복사

    • y + 커서이동 : 커서가 이동해야 하는 만큼 복사

  • dd : 커서가 있는 줄 잘라내기

    • 숫자 + dd : 커서가 있는 줄 부터 숫자만큼의 줄 잘라내기

    • d + 커서이동 : 커서가 이동해야 하는 만큼 잘라내기

  • p : 커서 오른쪽으로 붙여넣기

  • p : 커서 왼쪽으로 붙여넣기

실행모드 사용방법

줄 번호 출력, 숨기기

  • :set nu : 줄 번호 출력
  • :set nonu : 줄 번호 숨기기

찾기(검색)

  • /찾을내용 : 맨 위에서 아래로 탐색

  • ?찾을내용 : 맨 아래에서 위로 탐색

  • 동작 후 추가 입력

    • n : 검색 방향으로 다음 찾기

    • N : 검색 방향의 반대 방향으로 다음 찾기

찾아 바꾸기 (치환)

  • :[범위]s/찾을 내용/바꿀 내용/[옵션]

    • 범위

      • 생략 : 커서가 위치한 줄에서 특정 내용을 찾아 서 변경

      • n : n번째 줄에서 특정 내용을 찾아서 변경

      • n1,n2 : n1 번째 줄 부터 n2 번째 줄 까지 범위에서 특정 내용을 찾아서 변경

      • % : 문서 전체에서 특정 내용을 찾아서 변경

    • 옵션

      • g : 한 줄에 변경해야 하는 내용이 여러개인 경우 전체를 변경

커서 위치 확인

  • f : 현재 파일의 이름과 커서의 위치를 출력

Linux 명령어 동작

  • :! 명령어 : vi를 잠시 멈추고 Linux 명령어 동작

파일에 다른 내용 삽입

(: 뒤에 숫자를 입력해서 숫자번째 줄을 기준으로 동작 가능)

  • :.! 명령어 : 커서가 있던 줄의 내용을 지유고 명령어 동잡 결과 삽입

    • 결과가 출력되는 명령어 사용
  • :r! 명령어 : 커서가 있는 줄 아래로 명령어 동작 결과 삽입

    • 결과가 출력되는 명령어 사용
  • :r 파일명 : 커서가 있는 줄 아래로 다른 파일의 내용 삽입

저장, 종료, 불러오기

( !를 붙여서 강제 동작이 가능)

  • w : 저장

    • w 파일명 : 다른 이름으로 저장
  • q : 종료

    • wq : 저장하고 종료

      • wq 파일명 : 다른 이름으로 저장하고 종료
  • e 파일명 : 기존 문서를 종료하고 다른 파일 불러오기

    • enew : 기존 문서를 종료하고 새 파일 열기

화면 분활

ctrl + w + n : 화면 분활

ctrl + w + w : 분활된 화면 간 커서 이동

profile
개인 공부용 / 포트폴리오

0개의 댓글