Vim

vi 명령어

최재국 2021. 1. 28. 15:08

이동

왼쪽으로 커서 이동 h
아래로 커서 이동 j
위로 커서 이동 k
오른쪽으로 커서 이동 l
다음 페이지로 이동 ctrl + f
이전 페이지로 이동 ctrl + b
절반만큼 다음 페이지로 이동 ctrl + u
절반만큼 이전 페이지로 이동 ctrl + d
문서 맨 앞으로 이동 gg
문서 맨 끝으로 이동 G
문장 맨 앞으로 이동 ^
라인 맨 앞으로 이동 0
문장 맨 뒤로 이동 $
지정한 라인넘버로 이동 :숫자
]] 아랫 방향으로 '{'가 위치한 곳으로 이동
[[ 윗 방향으로 '{'가 위치한 곳으로 이동
][ 아랫 방향으로 '}'가 위치한 곳으로 이동
[] 윗 방향으로 '}'가 위치한 곳으로 이동
   
   

 

가로로 분할된 창 열기 :sp
세로로 분할된 창 열기 :vs
분할된 상측창 이동 ctrl + w + k
분할된 하측창 이동 ctrl + w + j
분할된 좌측창 이동 ctrl + w + l
분할된 우측창 이동 ctrl + w + h
분할된 다음창 이동 ctrl + ww
수평 분할된 현재 창 최대화 ctrl +w + -
수직 분할된 현재 창 최대화 ctrl + w +\

 

탭 열기 :tabnew
다음 탭으로 이동 gt
이전 탭으로 이동 gT

 

검색

직접 패턴 검색 :/[검색할 패턴]
다음 검색 검색할 패턴에 커서를 위치시킨 후 *
이전 검색  검색할 패턴에 커서를 위치시킨 후 #
아랫 방향으로 검색할 패턴 이동 n
윗 방향으로 검색할 패턴 이동 N

 

탐색

현재 탭에서 오픈할 파일 탐색 :e ./

 

설정

utf-8 인코딩 전환 :set enc=utf-8
대소문자 무시 :se ic

 

수정

Undo u
Redo ctrl + r
줄단위 잘라내기 dd
해당 위치부터 줄 끝까지 잘라내기 D
줄단위 복사하기 yy or Y
들여쓰기 >>
내어쓰기 <<
   
   
다음 라인을 현재 라인에 이어 붙이기 J
대소문자 전환 ~
숫자 증가 ctrl + a
숫자 감소 ctrl + x

 

비주얼 모드 수정

줄 단위 비주얼 모드 V
커서 단위 비주얼 모드 v
줄 단위 커서 단위 비주얼 모드 ctrl + v
잘라내기 d
복사하기 y
들여쓰기 >
내어쓰기 <

 

하이라이트

   

치환

:[시작 라인 넘버],[끝 라인 넘버][%][s][구분자][원본패턴][구분자][바꿀패턴][구분자][옵션]
시작 라인 넘버 문서 첫 행이라면 '.' 사용 가능, 생략 가능 %와 함께 사용할 수 없다.
끝 라인 넘버 문서 끝일 경우 '$' 사용 가능, 생략 가능 %와 함께 사용할 수 없다.
% 문서 전체 시작 라인 넘버, 끝 라인 넘버와 함께 사용할 수 없다.
s 구분자를 설정  
구분자 /, @ 등 다른 기호 사용 가능  
옵션 g: global   
i: ignore case  
c: confirm  

ex)

커서가 위치한 라인에서 첫 원본 패턴만을 치환 :s/[원본패턴]/[바꿀패턴]
5 ~ 23라인 사이에 있는 첫 원본 패턴만을 치환 :5,23s/[원본패턴]/[바꿀패턴]
문서 전체에서 라인당 첫 원본 패턴만을 치환 :%s/[원본 패턴]/[바꿀 패턴]
문서 전체에서 라인당 모든 원본 패턴을 바꿀 패턴으로 치환 :%s/[원본 패턴]/[바꿀 패턴]/g
문서 전체에서 라인당 첫 원본 패턴만을 대소문자 구분없이 치환 :%s/[원본 패턴]/[바꿀 패턴]/i
문서 전체에서 라인당 첫 원본 패턴만을 치환 시 사용자에게 확인 :%s/[원본 패턴]/[바꿀 패턴]/c
문서 전체에서 라인당 모든 원본 패턴을 사용자에게 확인을 받으면서 치환 :%s/[원본패턴]/[바꿀패턴]/gc

 

tag

   
   
   
   
선택한 위치로 점프 ctrl + ]
이전 위치로 점프 ctrl + t

 

 

NERDTree

o open it prev window
go preview
t open in new tab
T open in new tab silently
i open split
gi preview split
s open vsplit
gs preview vsplit
   
C change tree root to the selected dir
u move tree root up a dir
m Show menu
   

 

 

주석

:norm i//

주석 삭제

:norm 2x