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