Brise

vim 사용법 간단정리 본문

Linux

vim 사용법 간단정리

naudhizb 2023. 4. 13. 17:32
반응형

vim 단축키 정리

vim

Vim은 터미널에서 동작하는 텍스트 편집기로, 많은 개발자들이 사용하는 강력한 도구입니다.
Vim은 모드, 연산자, 그리고 명령어들을 조합하여 높은 생산성을 제공합니다.

CLI(Command Line Interface)

CLI는 텍스트 명령어를 사용하여 작업을 수행하는 방식으로 마우스를 사용하지 않고 키보드만으로 동작하는 인터페이스입니다.

모드 정리

프로그램 실행 시 Normal 모드로 진입하게 되며 각 모드로 전환하는 방법은 아래와 같습니다.

                     +-----------+
    +----------------|           |-------------+
    |                |Normal Mode|             |
    |    +---------->|           |<--------+   |    
    |    |           +-----------+         |   |
    |    |               |   ^             |   |
  v |    | ESC     i,a,o |   | ESC     ESC |   | :
    v    |               v   |             |   v
+---+----+---+       +-------+---+     +---+---+----+
| Visual Mode|       |Insert Mode|     |Command Mode|
+------------+       +-----------+     +------------+
  • Normal Mode: 기본 모드입니다. 이 모드에서는 커서, 페이지 이동 및 명령어를 입력할 수 있습니다.
  • Insert Mode: 일반적인 텍스트 편집기와 같은 모드입니다. 이 모드에서는 텍스트를 입력할 수 있습니다.
  • Visual Mode: 텍스트 선택을 위한 모드입니다. 선택된 영역에서 명령어를 수행할 수 있습니다.
  • Command Mode: 명령어를 입력할 수 있는 모드입니다.

Normal Mode

커서 이동

상하 이동

단축키 설명 비고
gg 맨 처음 줄로 이동
^b backward page 위로 1페이지
^u upward 위로 1/2페이지
k middle finger 위로 1라인
cursor 커서 기준
j index finger 아래로 1라인
^d downward 아래로 1/2페이지
^f forward page 아래로 1페이지
G 맨 끝줄로 이동

좌우 이동

단축키 설명 비고
0 column 0 줄의 시작위치로
^(hat) 공백이 아닌 처음 글자
B Begin WORD 이전 WORD로
b begin word 이전 word로
h index finger 이전 글자로
cursor 커서 기준
l ring finger 다음 글자로
e end of word word의 끝으로
E End of WORD WORD의 끝으로
W next WORD 다음 WORD의 시작
$ 줄의 끝 위치로

문자 찾기

  • /: 다음 방향으로 문자열 찾기
    • n : 다음 찾기
    • N : 이전 찾기
  • ?: 이전 방향으로 문자열 찾기
    • ,: 다음 찾기
    • ;: 이전 찾기

문자 편집

  • dd : 현재 라인 잘라내기
  • x : 커서 다음 글자 삭제
  • r : 커서 글자 대체
  • p : 커서 뒤로 붙여넣기
  • P : 커서 앞에 붙여넣기
  • yy : 현재 라인 붙여넣기
  • u : Undo
  • ^r : Redo
  • . : 이전 명령어 반복 실행

[operator][count][motion]
   |         |        |
   |         v        +-------> w: word
   |     (emittable)            W: WORD
   |                            " or ' : quoted string
   +---> d: delete/cut          s: sentence
         y: yank/copy           [: []block
         c: change              (: ()block
         gU: make Upper case    <: <>block
         ~: swap case           t: XML/HTML tag
         <: shift left          {: {}block
         =: indent              

화면 편집

명령 단축키 설명
:sp[lit] ^ws 창을 가로로 분할
:vs[plit] ^wv 창을 세로로 분할
^ww 다음 창으로 전환
^wW 이전 창으로 전환
^wr 다음 창과 교환
^w[hjkl] 해당 방향으로 창 전환
^w= 창 크기를 균등하게
^w_ 창 높이를 최대로
^w| 창 너비를 최대로
:q ^wq 현재 창 종료
^Wo 현재 창을 제외한 나머지 창 종료
:qa 모든 창 종료

Insert Mode

진입 방법

현재 커서를 기준으로 키에 따라 이동된 위치에 커서를 옮기며 문자열을 입력 가능한 상태로 바꿉니다.

       cursor
         |
 O       v
 I<-...-i_a-...->A
 o
  • I : 줄 시작 위치에 입력
  • i : 커서 이전에 입력
  • a : 커서 다음에 입력
  • A : 줄 마지막 위치에 입력
  • O : 이전 줄에 입력
  • o : 다음 줄에 입력

Visual Mode

텍스트 선택을 위한 모드입니다.

  • v : 일반 텍스트 선택 모드
  • V : 줄 선택 모드
  • ^v : 비주얼 선택 모드(한 줄이 길어 여러줄로 표시되는 경우 블럭 형태로 지정 가능)

Command Mode

  • :e : Edit 파일 열기
  • :ene : 새 피일 만들기
  • :w : 파일 저장
  • :q : 편집기 종료
  • :q! : 저장하지 않고 편집기 종료
  • :set nu : 라인 번호 표시
  • :set nonu : 라인 번호 표시 해제
  • :set hlsearch: 검색결과 하이라이트 표시
  • :help : 도움말 보기

Reference

반응형
Comments