작성: 2020-08-04 수정:
2020-08-04
하루 20줄 vim help 번역하기 (4편)
vim에서 pattern을 이용한 검색
Pattern 검색
명령 | 횟수 | 예제 | 설명 |
---|---|---|---|
/ | N | /{pattern}[/[offset]]<CR> |
아래로 N번째 있는 패턴을 찾는다. |
? | N | ?{pattern}[?[offset]]<CR> |
위로 N번째 있는 패턴을 찾는다. |
/ |
N | /<CR> |
마지막 검색을 아래 방향으로 찾는다. |
? |
N | ?<CR> |
마지막 검색을 위 방향으로 찾는다. |
n | N | n |
검색을 반복 한다. |
N | N | N |
반대 방향으로 검색을 반복한다. |
star | N | * |
커서가 위치한 식별자를 아래 방향으로 찾는다. |
# | N | # |
커서가 위치한 식별자를 위 방향으로 찾는다. |
gstar | N | g* |
* 와 유사하지만, 부분적으로 일치하는 단어도 찾는다. |
g# | N | g# |
# 과 유사하지만, 부분적으로 일치하는 단어도 찾는다. |
gd | gd |
커서가 위치한 식별자(지역 변수)가 선언된 위치로 이동한다. | |
gD | gD |
커서가 위치한 식별자(전역 변수)가 선언된 위치로 이동한다. |
pattern: 검색 pattern의 특수 기호
의미 | 특수 기호 | 일반 기호로 사용 |
---|---|---|
아무 단일 문자 하나를 매치 | . |
\. |
라인의 시작을 매치 | ^ |
^ |
마지막을 매치 | $ |
$ |
시작하는 단어를 매치 | \< |
\< |
끝나는 단어를 매치 | \> |
\> |
해당하는 범위의 문자를 하나 매치 | [a-z] |
\[a-z] |
해당하는 범위에 문자를 제외한 문자하나 매치 | [^a-z] |
\[^a-z] |
하나의 문자를 매치하는 식별자(영문, 숫자) | \i |
\i |
동일하지만, 숫자를 제외 | \I |
\I |
하나의 키워드 문자를 매치(영, 한, 숫자) | \k |
\k |
동일 하지만 숫자를 제외 | \K |
\K |
파일 이름 문자들을 매치 | \f |
\f |
동일 하지만 숫자를 제외 | \F |
\F |
출력 할 수 있는 문자만 매치 | \p |
\p |
동일 하지만 숫자를 제외 | \P |
\P |
공백 문자를 매치 | \s |
\s |
공백 문자가 아닌 문자 매치 | \S |
\S |
matches <Esc> |
\e |
\e |
matches <Tab> |
\t |
\t |
matches <CR> |
\r |
\r |
matches <BS> |
\b |
\b |
앞에 패턴과 0개 이상 일치하는 패턴 매치 | * |
\* |
앞에 패턴과 1개 이상 일치하는 패턴 매치 | \+ |
\+ |
앞에 패턴과 0 또는 1개 일치하는 패턴 매치 | \= |
\= |
앞에 패턴과 N 또는 M개 일치하는 패턴 매치 | \{2,5} |
\{2,5} |
패턴을 분리해서 매칭 | \| |
\| |
패턴들을 그루핑 | \(\) |
\(\) |
search-offset
검색 명령 이후 허용되는 오프셋
offset | 설명 |
---|---|
[num] | [num] 라인 만큼 밑으로 이동 후 첫번째 컬럼 |
+[num] | [num] 라인 만큼 밑으로 이동 후 첫번쨰 컬럼 |
-[num] | [num] 라인 만큼 위로 이동 후 첫번쨰 컬럼 |
e[+num] | 매치되는 글자의 마지막 문자에서 [num]만큼 오른쪽 이동 |
e[-num] | 매치되는 글자의 마지막 문자에서 [num]만큼 왼쪽 이동 |
s[+num] | 매치되는 글자의 첫 문자에서 [num]만큼 오른쪽 이동 |
s[-num] | 매치되는 글자의 첫 문자에서 [num]만큼 오른쪽 이동 |
b[+num] | 위의 s[+num]와 동일 (mnemonic: begin) |
b[-num] | 위의 s[-num]와 동일 (mnemonic: begin) |
;{search-command} | 실행 후 {search-command} 검색 |
사용법
/num/3
: num을 찾은 후 밑으로 3줄 이동
/num/e3
: num을 찾은 후 마지막 글자인 m에서 3글자 오른쪽으로 커서 이동
/num/;/hello
: num을 찾은후 hello를 찾는다.