vim 사용하기

vi는 유닉스의 기본 텍스트 편집기이고,
vim은 vi가 개량된 버전으로 vi improved의 약자이다.

최근에는 대부분의 환경에서 vi 명령어를 입력해도 vim으로 연결된다.

명령모드와 입력모드

vim에는 명령모드와 입력모드가 있다.
기본적으로 편집기에 들어가면 명령모드로 시작하며 여기서 명령을 이용한 작업이 가능하다.
입력모드에 들어가면 일반적인 편집기처럼 텍스트의 입력이 가능해진다.

기본 단축키

  • 파일 열기
    • vi(vim) 파일명
  • 입력모드로 전환
    • i: 커서 위치에서 입력모드로 전환 (insert)
    • a: 커서 다음위치에서 입력모드로 전환 (append)
    • I: 문장 시작 위치에서 입력모드로 전환
    • A: 문장 끝 위치에서 입력모드로 전환
  • 명령모드로 전환
    • ESC
  • 저장/종료 (명령모드에서)
    • :q: 종료
    • :w: 저장
    • :wq: 저장 후 종료
    • !: 명령어 뒤에 붙이면 강제 실행 (:q!, :wq!)
  • 커서 이동
    • h, j, k, l: 왼쪽, 아래, 위, 오른쪽 이동
    • w: 한 단어 이동 (다음 단어 시작으로)
    • b: 한 단어 뒤로 이동 (이전 단어 시작으로)
    • 0: 문장 시작 위치로 이동
    • $: 문장 끝 위치로 이동
    • H, M, L: 현재 보이는 화면의 시작, 중간, 끝 라인으로 이동
    • {: 이전 문단 시작으로 이동
    • }: 다음 문단 시작으로 이동
    • gg: 파일 시작 위치로 이동
    • G: 파일 끝 위치로 이동
    • ctrl + u/d: 위/아래 스크롤
    • :20, 20G: 특정 라인으로 이동. 20번째 줄로 이동
    • 3w, 8w: 3단어 이동. 8단어 이동. 다른 명령어도 숫자와 붙여 사용가능
  • 삭제
    • x: 커서 아래 글자 삭제
    • dw: 커서 뒤의 단어 삭제 (커서 포함)
    • db: 커서 앞의 단어 삭제
    • dd: 커서가 있는 라인 삭제
  • 복사
    • yw: 커서 뒤의 단어 복사 (커서 포함)
    • yb: 커서 앞의 단어 복사
    • yy: 커서가 있는 라인 복사
  • 붙여넣기
    • p: 커서 다음에 붙여넣기
    • P: 커서 이전에 붙여넣기
    • *p: 클립보드 내용 붙여넣기
  • 검색
    • /문자열: 앞에서부터 문자열 검색
    • ?문자열: 뒤에서부터 문자열 검색
    • n: 다음 검색결과로 이동
    • N: 이전 검색결과로 이동
  • 되돌리기(Undo), 다시실행(Redo), 반복
    • u: 되돌리기 (Undo)
    • ctrl + r: 다시 실행 (Redo)
    • .: 이전 명령 반복

응용

위의 dw, yw와 같은 단축키들은 사실은 명령어(command) + 대상(object)로 구성되어 있다.

대표적인 명령어는 다음과 같다.

  • c: change, 변경
  • d: delete, 삭제
  • y: yank, 복사

대상 선택 명령어로는 아래와 같은 것들이 있다.

  • w: word. 앞의 단어
  • b: back word. 뒤의 단어
  • p: phrase. 문단
  • s: sentence. 라인. 줄
  • hjkl: 왼아위오
  • i: inner. 내부를 선택
  • a: all. 포함
  • /, f, t: 검색

즉, 응용하면 아래와 같이도 사용이 가능하다는 것이다.

  • d3w: 단어 3개 삭제
  • d2j: 아래 2줄 삭제
  • di{: 중괄호 안의 모든 내용 삭제
  • da(: 소괄호를 포함한 모든 내용 삭제
  • di": 큰 따옴표 안의 모든 내용 삭제
  • das: 1줄 삭제
  • ci[: 대괄호 안의 모든 내용을 삭제하고 입력모드로 전환. (c는 삭제 후 입력모드 전환)
  • df(: 커서에서 다음 (를 검색하여 (까지 삭제
  • dt(: 커서에서 다음 (를 검색하여 (전 까지 삭제
  • d/(sh: 커서에서 / 이후 (sh가 나오는 부분을 검색하여 전까지 삭제

Continue reading


© 2021. All rights reserved.

Powered by Hydejack v9.1.5