vim 명령어 정리

Kiwoong Nam·2025년 4월 22일

Linux

목록 보기
6/9

참고한 사이트

범례

완전 적응한 커맨드
애매한 커맨드
아직 못 익힘

모드 전환

모드커맨드
NORMALESC
INSERTi, a, o, s
VISUALv
COMMAND:

입력 모드 진입

  • i: 현재 커서 위치에 입력
  • a: 현재 커서 다음에 입력
  • s: 현재 커서 위치 지우고 입력
  • o: 아래에 행 생성해 입력
  • I: 현재 행 맨 앞에 입력
  • A: 현재 행 맨 뒤에 입력
  • S: 현재 행 지우고 입력
  • O: 위에 행 생성해 입력
  • ea: 단어 끝 뒤에 삽입

비주얼 모드 진입

  • v: 비주얼 모드 진입
  • V: 행 단위 지정

명령 모드 진입

  • :: 명령 모드 진입

기본 모드

커서 이동 - 기본

  • h, j, k, l: 좌, 하, 상, 우 한 칸 이동
  • gg: 첫 줄의 시작으로 이동
  • G: 마지막 줄의 시작으로 이동
  • <n>gg or <n>G: n번째 행 시작으로 이동

커서 이동 - 내용 기준

  • w, W, e, E: 다음 단어 시작/끝으로 이동 (대문자는 특수문자 포함)
  • b, B,ge, gE: 이전 단어 시작/끝으로 이동 (대문자는 특수문자 포함)
  • gj, gk: 다음/이전 문장으로 이동(한 문장이 여러 줄로 나뉨)
  • %: 현재 괄호의 짝으로 이동 (:h matchpairs 참고)
  • 0: 현재 행 시작으로 이동(공백 포함)
  • ^: 현재 행 시작으로 이동
  • $: 현재 행 끝으로 이동(공백 포함)
  • g_: 현재 행 끝으로 이동
  • {, }: 이전/다음 단락으로 이동

커서 이동 - 화면 기준

  • C-y, C-e: 한 줄 위, 아래로 화면 이동(커서 고정)
  • C-u, C-d: 반 화면 위, 아래로 이동(커서도 이동)
  • C-b, C-f: 한 화면 위, 아래로 이동(커서도 이동)
    back, front로 외우면 될듯?
  • zz: 현재 행이 화면 가운데로 오도록 화면 이동
  • zt, zb: 화면 맨 위/아래로 커서 이동
  • H, M, L: 현재 화면의 상단, 중간, 하단으로 이동

커서 이동 - 고급

  • gd: 지역변수 선언 위치로 이동
  • gD: 전역변수 선언 위치로 이동
  • fx,Fx: 다음/이전 검색 문자 x로 이동
  • tx,Tx: 다음/이전 검색 문자 x 앞으로/뒤로 이동
  • ;: 최근 f/t/F/T 명령어 실행
  • .: 최근 F/T/f/t 명령어 실행

삽입 모드

진입법: i,I,a,A,o,O,ea

  • C-h: 이전 문자 제거
  • C-w: 이전 단어 제거
  • C-j: 한 줄 바꿈
  • C-t,C-d: 한 탭 들여쓰기/내어쓰기
  • C-n,C-p: 다음/이전 단어 탐색 (자동완성)
  • C-rx: 레지스터 x의 내용 삽입
  • C-ox: 삽입 모드에서 노멀 모드 명령 x를 실행

편집 모드

  • r: 한 글자 바꾸기
  • R: 한 글자 이상 바꾸기 (ESC 입력 시까지)
  • J: 현재 행과 다음 행 연결
  • gJ: 현재 행과 다음 행 연결, 공백 무시
  • gwip: 단락 리플로우
    한 줄에 최대한 우겨넣도록 해주는 명령인거 같은데 크게 쓸모는 없을듯

TODO: g-부터

명령 모드

저장 및 종료

  • ZZ or :wq : 저장 및 종료
  • :w : 저장
  • ZQ or :q! : 저장하지 않고 강제종료
  • :x: 변동사항이 없을 경우 그냥 종료
    느낌표(!)의 경우 오류를 무시할 때 사용한다. 읽기 전용 파일에 :wq를 사용한다든가, 수정사항을 버리고 종료하기 위해 :q를 사용한다든가...

설정 변경

  • :set <option>[!]
    vimrc에 옵션 목록을 정리했다. 현재 세션에서 설정 변경이 필요한 경우 명령 모드를 통해 변경이 가능하다.

기타

  • :h <keyword>: 도움말 열기
  • :sav <file>: 다른 이름으로 저장
  • :clo: 현재 창 닫기
  • :ter: 터미널 열기

0개의 댓글