# vi 사용법

서버 작업할 때만 사용하다보니 자주 쓰는 일부 명령들만 외우게 된다. 나만의 오답(?)노트.

# 옵션

  • .vimrc 옵션 파일
  • :set all 옵션 보기
  • :set name! 옵션 토글
  • :set name 옵션 켜기
  • :set noname 옵션 끄기

# 특수

  • :set list 특수문자
  • :set nu 줄번호
  • :set cindent c언어 들여쓰기
  • :set sw=크기 블록 들여쓰기
  • :set ts=크기 탭 크기
  • :set ai cindent 자동 들여쓰기

# 파일

  • :q 나가기
  • :q! 저장 없이 나가기
  • :w 파일명
  • :wq :wq!
  • ZZ 저장후 종료

# 모드

  • i 현재 위치 입력 모드
  • a 다음 위치 입력 모드
  • I 첫칸 입력 모드
  • A 마지막칸 입력 모드
  • o 다음줄 입력 모드
  • O 전줄 입력 모드

# 커서 이동

  • ^ 0 커서를 첫칸으로
  • $ 커서를 마지막으로
  • H 화면의 맨 위로
  • M 화면의 중간으로
  • L 화면의 맨 아래로
  • w 다음 단어의 첫글자
  • b 이전 단어의 첫글자
  • e 다음 단어의 마지막 글자

# 화면 이동

  • ^u 반화면 위로
  • ^b 한화면 위로
  • ^d 반화면 아래로
  • ^f 한화면 아래로
  • ^y 화면 한줄 위로
  • ^e 화면 한줄 아래로
  • {숫자}G 지정 라인으로 이동
  • G 맨 마지막으로 이동
  • gg 맨 처음으로 이동

# 편집

  • x 한글자 삭제
  • {숫자}x 몇글자 삭제
  • dw 단어 삭제
  • dd 한줄 삭제(잘라내기)
  • u undo
  • U 현재 줄에서 모두 취소
  • D 현재 줄부터 이후 모두 삭제
  • yy 한줄 복사
  • {숫자}yy 몇줄 복사
  • p 현재줄의 아래에 붙이기
  • P 현재줄의 위쪽에 붙이기

# 블럭

  • v+방향키 블럭 지정(후 d 또는 y)

# 검색

  • /문자열 아래로 검색
  • ?문자열 위로 검색
  • n 다음 검색
  • N 이전 검색

# 바꾸기

  • :s/문자열1/문자열2 해당 줄의 첫번째만 바꾸기
  • :%s/문자열1/문자열2/g 전체에서 바꾸기
  • :2,3s/문자열1/문자열2 2/3번 줄들에서 첫번째만 바꾸기
  • :2,3s/문자열1/문자열2/gc 2/3번 줄들에서 모두 바꾸기 하는데 물어봄
최종 수정: 2021-1-7 15:25:10