본문 바로가기

Technical architecture/Linux

[vim] 실무에서 무조건 사용하는 vi/vim 편집기 필수 명령어 모음

Config, yaml, 쉘 스크립트 등 리눅스와 쿠버네티스 인프라를 다루는 개발자라면 필수인 vim 편집기!

그런데 명령어들이 너~무 많고 외우기도 힘들다

그래서 실무에서 이것만큼은 알자!하는 명령어들을 정리해보았다.

 

모드

일단 명령어 이전에 알아야하는 부분 vi/vim 에디터에는 4가지 모드가 있으며, 이 모드를 자유자재로 왔다갔다 해야한다.

  1. 명령어 모드: 가장 기본적인 모드, 여기서 이동, 수정 등 아래의 명령어들이 적용됨
  2. 입력 모드: 실제 텍스트를 수정할 수 있는 모드, 삽입이나 치환 명령어로 진입
  3. 마지막 행 모드: 명령어 모드에서 ':' 입력 시 진입 파일 저장이나 파일에서 나가는 명령을 수행
  4. 비주얼 모드: 블록 선택 가능 주로 복사에 사용

이렇게 써놔봤자 이해가 힘들 것이고 직접 사용해보는 것을 추천

커서 이동

작게 이동

  • 기본 방향키, hjkl
  • 단어 이동
    • e : 다음(오른쪽) 단어의 앞으로 이동
    • w : 다음(오른쪽) 단어의 끝으로 이동
    • b : 이전(왼쪽) 단어의 앞으로 이동
  • 행 이동
    • ^ : 행의 맨 앞쪽으로 이동
    • $ : 행의 맨 끝쪽으로 이동

크게 이동

  • 줄 이동
  • 숫자G : ‘숫자’번째 행으로 이동
  • G : 파일의 마지막 행으로 이동
  • 한 페이지 이동
    • Ctrl + b : 이전페이지로 이동
    • Ctrl + f : 다음페이지로 이동
  • 반 페이지 이동
    • Ctrl + d : 이전페이지로 절반 이동
    • Ctrl + u : 다음페이지로 절반 이동
  • 페이지 내 이동
    • H : 화면의 맨 위로 이동
    • M : 화면의 중간으로 이동
    • L : 화면의 맨 아래로 이동

수정

  • 삽입
    • a : 커서 뒤에 문자 삽입
    • o : 커서 아래에 행 삽입
  • 치환
    • cw : 단어 변경
    • cc : 행 변경
    • :$/aaa/bbb : 커서 위치부터 파일 끝까지 aaa를 bbb로 대체
  • 정렬
    • r + Enter : 행 분리
    • J : 윗행과 행 결합
    • u : 이전 명령 취소
  • 삭제
    • dw : 커서의 한 단어 삭제
    • dd : 커서의 행 삭제
    • ndd : 커서~n개의 라인 삭제
  • 복사
    • yy : 커서 위치 행 복사
    • p : 붙여넣기
    • v : 비주얼 모드 진입 후 블럭 복사, 커서 이동 적용 가능
  • 종료
    • :w : 변경사항 저장
    • :wq : 변경사항 저장 후 종료
    • :q! : 저장하지 않고 종료

검색

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