RegEx for Vim
Find
/<word>
: 커서가 위치한 곳 이후에 존재하는 단어를 찾습니다.?<word>
: 커서가 위치한 곳 이전에 존재하는 단어를 찾습니다.n
: 이전 단어를 찾은 경우 그 이전으로, 다음 단어를 찾은 경우 그 다음으로 단어를 찾습니다.N
:n
과 반대 방향으로 다음 단어를 찾습니다.*
: 커서가 위치한 곳의 단어를/
명령어로 찾습니다.#
: 커서가 위치한 곳의 단어를?
명령어로 찾습니다.
#
과 *
은 키보드에서 5, 6을 기준으로 대칭인 자리에 있습니다.
Substitute
:[<lineOption>]s/<before>/<after>/[<option>]
: before에서 after로 찾아 바꿉니다.
[<lineOption>]
- line option이 없는 경우 커서가 위치한 줄에 적용됩니다.
start_num,end_num
: 주어진 번호의 줄을 포함한 그 사이 줄`<,`>
: Visual 모드에서 블록된 영역의 줄.,$
: 현재 위치에서 끝까지.,+n
: 현재 위치에서 n번째 다음 줄까지
[<option>]
g
: 줄 전체에서 찾아 바꿉니다. 기본은 줄에서 찾은 첫번째만 바꾸는 것입니다.(global)c
: 찾은 후 바꿀 것인지 묻습니다.(confirmation)i
: 대소문자를 무시하고 찾습니다. (ignoring case)
RegEx
.
: 임의의 한 글자^x
: 문장이 x로 시작x$
: 문장이 x로 끝x*
: x가 0 번 이상 반복x\+
: x가 1 번 이상 반복x\{n,m}
: x가 n번 이상 m번 이하x\{n}
: x가 n번 반복x\{n,}
: x가 n번 이상 반복 (가능한 많이)x\{,m}
: m번 이하 반복 (가능한 많이)x\{-n,m}
: n번 이상 m번 이하 (가능한 적게)x\{-n,}
: n번 이상 (가능한 적게)x\{-,m}
: m번 이하 (가능한 적게)x\{-}
: 0번 이상 (가능한 적게)
x\?
: x가 있어도 되고 없어도 됨x\|y
: x 또는 y\(\)
: 그룹\
: escape[
]
: 문자 클래스[a-z]
: a ~ z 중 한 글자[A-Z]
: A ~ Z 중 한 글자[0-9]
: 0 ~ 9 중 한 숫자[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]
: 한글 중 한 글자
\0
,&
: 찾은 문자 전체\n
: n 번째 그룹(\(\)
)
Examples
:%s/^\* / \* /g
: *로 시작하는 줄 2 칸 들여쓰기:%s/<code \([a-z|A-Z]*\)>/```\1/g
: <code xxxx> -> ```xxxx:%s/<a href="\(.\{-}\)" \?.\{-}>.\{-}<\/a>/\1/g
: <a href="web">web</a>->web