[linux] vi / vim 정리

joyful·2022년 6월 17일
0

linux

목록 보기
2/3

✅ 내용 치환

:[범위]/[매칭문자열]/[치환문자열]/[행범위]
명령 키설명
:s/old/new/현재 행의 처음 old를 new로 교체
:s/old/new/g현재 행의 모든 old를 new로 교체
:%s/old/new/각 행의 처음 나오는 old를 new로 교체
:%s/old/new/g모든 old를 찾아 new로 교체
:%s/old/new/gc모든 old를 찾아 new로 교체하기 전에 수정할지 여부 물어봄
:10, 20s/old/new/g10번째 행부터 20번째 행까지 모든 old를 new로 교체
:-3,+5s/old/new/현재 커서위치 기준으로 3행 위부터 5행 아래까지 old를 new로 교체

✅ 이동

  • Shift + G : 맨 마지막으로 커서 이동
  • gg : 맨 위로 커서 이동

✅ 모드 전환

  • 명령 모드 → 입력 모드
    • i : 커서 앞(왼쪽)에 입력
    • a : 커서 다음(오른쪽)에 입력
    • o : 커서의 다음 행에 입력
  • 입력 모드 → 명령 모드
    • ESC

✅ 복사 & 붙여넣기

  • yy : 커서가 있는 한 행 복사
  • p : 현재 커서에 붙여넣기, 행 복사의 경우 아래줄에 붙여넣음


✅ 저장, 종료하기

명령 모드에서 콜론:을 이용하여 다양한 작업이 가능 (콜론 모드)

  • :q : 종료
  • :q! : 저장하지 않고 강제로 종료
  • :wq : 저장 후 종료

✅ 되돌리기(Undo)

  • u : 이전으로 되돌리기

✅ 블록 지정

  • v : 문자 단위 블록지정
  • Shift + v : 행 단위 블록 지정(방향키 ,로 위아래 이동)

✅ 삭제

  • dd : 한 줄 삭제
  • 여러 줄 삭제하고 싶을 경우 Shift + v로 행 단위 블록 지정 후 d

✅ 작업한 내용 저장 및 vi 종료

  • ZZ (대문자) → 명령모드에서 실행 필요

✅ 기타

  • :set number : 행번호 출력 (간단하게 :set nu)
  • :set nonumber : 행번호 숨기기 (간단하게 :set nonu)
  • :cd : 현재 디렉토리 출력
profile
기쁘게 코딩하고 싶은 백엔드 개발자

0개의 댓글