###1. vim 일반모드 기능

  • buffer 사용법(register 기능)
  • visual mode  전환
명령어 설명
x 커서에 위치한 문자 삭제(del 키와 동일)
dd
:d
현재 행 삭제
D 현재 컬럼 위치에서 현재 행의 끝부분까지 삭제(d$ 와동일)
J 아래 행을 현재 행의 끝에 붙임

**삭제된 문자들은 버퍼에 임시로 저장됨. 버퍼를  VIM에서는 register라고도 부름.

 

 

명령어 설명
p
:pu
현재 행에 붙임
개행 문자가 포함된 경우 현재 행의 아래에 붙임.
 P 현재 행의 위쪽에 붙임(대문자)

**n :  숫자

**np 는 n번 paste

 

명령어 설명
yy
:y
Y
yank 복사 기능

 

명령어 설명
u undo
CTRL-R redo

 

 

**G :  맨 아래

**gg: 맨 위 이동

 


###2 명령행 모드

특정 행 범위의 삭제에 편리

[range 설정해서 삭제]

명령어 설명
:20d 20번 행을 삭제
:10,25d 10~25번 행 삭제
:10,$d                      10~마지막 행까지 삭제  ( $d 는 마지막 행)
:%y 문서 전체 복사. %는 1, $와 동일
:.,+20y 현재 행부터 아래로 스무 행 복사
:-10,+5d                     현재 행부터 위로 10행, 아래로 5행, 총 열여섯 행 삭제
:40pu 40번 행에 레지스터의 내용 붙여넣기

 

 

범위 연산 meta character

 기호 의미
. 현재 행 의미
$ 마지막 행( REGEX의 $ 와 동일)
+# 현재 위치에서 #만큼 아래 행을 의미
-# 현재 위치에서 #만큼 위 행 의미
문서(파일) 전체를 의미.

 


##3. Visual mode

#1. mouse의 drag 기능을 대신

1) 매우 직관적이고 편리. (vim확장기능)

 

명령어 설명
v (소문자)일반 비주얼 모드로 현재 커서 위치에서 블록을 지정
V (대문자)visual line mode로 현재 커서가 위치한 행에서 행단위로 블록 지정
Ctrl-V visual block mode, 열 단위로 블록 지정.

 

visual mode 에서 colon 누르면 자동으로 range가 설정된다

:'<,'> 

 

##4 Column editing

                                           그림 1

 

여기서  d하면 해당 범위 삭제 됨.

 

 

                               그림 2

그림 1에서 단축키 통해 앞에 0 3개와 6번째 자리에 - 를 만들어주었다.

범위 드래그 + I + 추가할 문자 입력 후 esc  두번

 

ESC 2번 타이핑해야  Column edting이 완료 됨

I: insert , A:append   [ 위치를 선정해줘야하기에 I,. A 중 원하는 위치에 따라 입력값 달라짐]

c: change

~: switch case

 

이 방식은 특정열에 문자열을 삽입하거나 교체하는 경우에 사용한다.

 

gg<Ctrl V>GI0000<ESC><ESC>

5 번쨰 요소에 커서놓고드래그로 아래까지 이동시킴.  + I + '-'입력 하여  esc 2번 타이핑.

 

##5 visual mode

#1 gv

1) previous highlighted text 영역 불러오기

#2 o (small o)

 1) 블록의 위 아래를 다시 재조정해야 할 경우에 사용(유용함)

 

 

+ Recent posts