2017년 11월 28일 화요일

Vim의 기능; 검색

시작하며....


제목을 보면 어떻게 보면 이상하다는 생각이 들어요.

다른 문서 편집기 보면 가장 간단한 것 중의 하나가 검색이지요.

다른 윈도우 프로그램은 기본 적으로 Ctrl+F를 누르면 검색이 되는데...

이걸 왜 지금에서야 하는지 이상하게 여길 수 있지요.

검색만을 주제로 할 만한 게 있는지도 의아해할 테지만...

Vim이 일반 프로그램과는 차이가 난다는 것을 아실테니까 더 알아야 하는 점들이 있겠지요~

바로 진행을 해보도록 하겠습니다.


기본 검색 명령어


Command-line을 진입하는 방법은 보통은 두 가지를 많이 이야기하죠.

하나는 명령어 실행이고 하나는 검색입니다.

명령어 실행은 ":"를 입력하고 필요한 명령어를 바로 입력한 후에 엔터를 입력하면 된다는 걸 모두 알고 계시죠.

그럼 검색은 뭐가 있을까요?

보통 두 가지를 이야기하는데 아래와 같습니다.


  • / : 다음(우측 아래) 방향으로 검색
  • ? : 이전(좌측 위쪽) 방향으로 검색


"/"나 "?"를 입력한 후에 단어를 입력하게 되면 단어에 대해 검색을 하게 됩니다.

그럼 검색한 내용에 대해 highlight가 설정 되어서 검색한 단어를 쉽게 볼 수 있어요.
(원치 않는다면 설정을 변경 할 수도 있습니다.)

그리고 아래의 명령어로 검색한 단어의 다음으로 이동하게 됩니다.

  • n : 검색한 정 방향으로 이동
  • N : 검색한 역 방향으로 이동


n, N이 그것인데요.

위에 설명한 거처럼 각각 정방향과 역방향으로 이동하게 됩니다.

즉, "/"로 검색을 했을 때 n을 누르면 우측 아래 방향으로 다음 단어를 찾게 되고 N은 반대 방향이겠죠.

하지만 "?"로 검색을 했을 때는 n을 누르면 정방향인 좌측 위쪽으로 다음 단어로 이동하게 돼요.

한번 해 보시면 어렵지 않을 거예요.

하지만 자꾸 헷갈린다 싶으면.. 그냥 "/"만 알고 계세요.

그럼 n은 오른쪽 아래 방향으로, N은 왼쪽 위 방향으로만 이동하니 이해하기는 어렵지 않게 되죠.

위에 처럼 방향을 이야기하면 자꾸 어려워지니 다음부터는 방향을 제어하는 명령어는 n과 N으로만 알고 있어 주세요.

그러면 오른쪽 아래으로만 검색하는 명령어를 알면 원하는 방향으로 검색을 할 수 있을테니까요.


커서 위의 단어 검색


타자 치는 걸 힘들어하시는 분들이 많을지 모르겠네요.

저는 타자가 빠른 편이 아니라 "/"를 누르고 찾고 싶은 글자를 치는 게 귀찮더라고요.

그리고 보통 글의 내용 중에 나오는 글자를 검색하는 경우가 많으니 커서 위의 글자를 바로 검색 해주는 명령어는 없을까요??

당연히 있지요..ㅎㅎ


  • * : 커서 위의 단어를 단어 단위로 검색
  • g* : 커서 위의 단어를 검색


검색하고 싶은 단어 위에서 위의 명령어로 검색해 보세요.

특별한 타자 없이 단어를 검색할 수 있어요.

두 명령어의 차이는 *는 단어 단위로 검색을 하고 g*는 단순히 해당 단어를 검색하게 되요.


대문자 소문자 무시


기본적으로 Vim은 검색할 때 대문자와 소문자를 구분해요.

그래서 Vim 이라는 글자를 검색하는 것과 vim 이라는 글자를 검색하는 결과가 달라지죠.

그렇지만 가끔 대소문자를 구분하지 않고 검색하고 싶을 때가 있지요.

그럴 때는 옵션을 변경하는 방법이 있는데...

사실 그건 굉장히 귀찮아요.

검색할 때마다 현재 상태가 무언지 모르니 매번 옵션 설정을 주어야 하니까요.

그냥 아래와 같이 하나만 알도록 해요.


  • /\c검색할단어


위 처럼 "/\c"를 앞에 넣고 검색할 단어를 입력하게 되면 대소문자를 무시하고 검색을 해 주죠.



그림 처럼 Vim과 vim이 한번에 검색 된 것을 볼 수 있지요.


이전에 검색 단어 찾기


검색을 하다 보면 이전에 검색했던 단어를 다시 찾아야 하는 경우가 있어요.

이럴 때 다시 검색한다고 타자을 치고 있으면 너무 힘들잖아요.

그럴 때 아래와 같은 명령어로 이전에 검색했던 단어를 찾을 수 있어요.


  • CTRL-P : 이전에 검색했던 단어 찾기
  • CTRL-N : CTRL-P로 이동한 역순으로 단어 찾기


위의 명령어는 Command-line에서도 사용할 수 있어요.

이전에 적었던 명령어를 다시 적지 않아도 되는거죠.^^


마치며....


검색 부분은 사실 다음 장에서도 다시 진행해야 할 거 같아요.

중요한 부분인 정규식 부분을 하지 않았거든요. ^^;;

그리고 검색이 나왔으니 검색과 한 쌍인 "바꾸기"도 설명을 하지 않기도 했고요.

오늘 퇴근이 늦어서 원하는 만큼 적지 못했지만, 다음 장에 마무리하도록 하겠습니다.

감사합니다.

댓글 없음:

댓글 쓰기