웹사이트 검색

Vim에서 검색 작업을 수행하는 방법


이 페이지에서

  1. 검색 맞춤설정
    1. 1. 검색 강조 표시\n
    2. 2. 대소문자를 구분하지 않는 검색\n
    3. 3. 스마트케이스 검색
    4. 4. 증분 검색

    지금까지 Vim의 여러 기능을 이미 다루었지만 편집기 기능 세트는 너무 방대해서 아무리 많이 배워도 충분하지 않은 것 같습니다. 따라서 Vim 튜토리얼 시리즈를 계속 진행하면서 이 글에서는 편집기가 제공하는 다양한 검색 기술에 대해 논의할 것입니다.

    But before we do that, please note that all the examples, commands, and instructions mentioned in this tutorial have been tested on Ubuntu 14.04, and the Vim version we've used is 7.4.

    Vim의 기본 검색 작업

    Vim 편집기에서 파일을 열고 특정 단어나 패턴을 검색하려는 경우 첫 번째 단계는 삽입 모드에서 나오는 것입니다(해당 모드가 현재 활성화된 경우). 완료되면 /(따옴표 없이)를 입력하고 검색하려는 단어/패턴을 입력합니다.

    예를 들어 검색하려는 단어가 linux인 경우 Vim 창 하단에 다음과 같이 표시됩니다.

    그런 다음 Enter 키를 누르면 Vim이 삽입 모드에 있을 때 커서가 있던 줄부터 시작하여 마주치는 첫 번째 줄(단어 포함)에 커서가 놓이는 것을 볼 수 있습니다. 방금 파일을 열고 검색을 시작한 경우 검색 작업은 파일의 첫 줄부터 시작됩니다.

    검색된 단어가 포함된 다음 행으로 이동하려면 n 키를 누르십시오. 검색된 패턴이 포함된 모든 행을 탐색한 후 n 키를 다시 누르면 편집기가 검색을 반복하고 처음 검색된 항목으로 다시 돌아갑니다.

    검색된 항목을 탐색하는 동안 이전 항목으로 돌아가려면 N(shift+n)을 누르십시오. 또한 언제든지 ggn을 입력하여 첫 번째 일치 항목으로 이동하거나 GN을 입력하여 마지막 일치 항목으로 이동할 수 있다는 점을 언급할 가치가 있습니다.

    파일의 맨 아래에 있고 거꾸로 검색하려는 경우 /로 검색을 시작하는 대신 ?을 사용하세요. 예를 들면 다음과 같습니다.

    검색 맞춤설정

    1. 검색 하이라이트

    n 또는 N을 사용하여 검색된 단어/패턴의 한 항목에서 다른 항목으로 건너뛰는 것은 쉽지만 검색된 항목이 강조표시되면 더 사용자 친화적이 됩니다. 예를 들어 아래 스크린샷을 참조하세요.

    이는 일반/명령 모드에서 다음을 작성하여 수행할 수 있는 hlsearch 변수를 설정하여 가능하게 할 수 있습니다.

    :set hlsearch

    2. 대소문자를 구분하지 않고 검색하기

    기본적으로 Vim에서 수행하는 검색은 대소문자를 구분합니다. 즉, 내가 Linux를 검색하는 경우 Linux가 일치하지 않습니다. 그러나 찾고 있는 내용이 아닌 경우 다음 명령을 사용하여 대소문자를 구분하지 않고 검색할 수 있습니다.

    :set ignorecase

    그래서 앞서 언급한 명령을 사용하여 ignorecase 변수를 설정하고 linux를 검색한 후 LINUX도 강조 표시되었습니다.

    3. 스마트케이스 검색

    Vim은 검색된 단어/패턴에 대문자가 포함된 경우에만 편집기에서 대소문자를 구분하도록 요청할 수 있는 기능도 제공합니다. 이를 위해서는 먼저 ignorecase 변수를 설정한 다음 smartcase 변수를 설정해야 합니다.

    :set ignorecase
    :set smartcase

    예를 들어 파일에 LINUX와 linux가 모두 포함되어 있고 smartcase가 켜져 있는 경우 /LINUX를 사용하여 검색하면 LINUX라는 단어만 검색됩니다. 그러나 검색이 /linux인 경우 대문자인지 여부에 관계없이 모든 항목이 일치합니다.

    4. 증분 검색

    예를 들어 검색어를 입력하면 검색 결과가 표시되는 Google(입력하는 알파벳마다 업데이트됨)과 마찬가지로 Vim도 증분 검색을 제공합니다. 이 기능에 액세스하려면 검색을 시작하기 전에 다음 명령어를 실행해야 합니다.

    :set incsearch

    다른 멋진 Vim 검색 팁/트릭

    유용할 수 있는 몇 가지 다른 검색 관련 팁 요령이 있습니다.

    먼저 파일에 있는 단어를 검색하고 싶지만 입력하고 싶지 않은 경우 커서를 단어 아래로 가져간 다음 *(또는 shift+8)를 누르면 됩니다. 그리고 부분 검색(예: in 및 terminal 모두 검색)을 시작하려는 경우 커서를 단어 아래로 가져갈 수 있습니다(예: in) 키보드에서 g*(g를 한 번 누른 다음 *를 계속 누름)를 눌러 검색합니다.

    참고: 뒤로 검색하려면 # 또는 g#를 누르십시오.

    다음으로 원하는 경우 검색된 단어/패턴의 모든 항목 목록을 각 줄 및 줄 번호와 함께 한 곳에서 가져올 수 있습니다. [I after youve started the search. 다음은 Vim 창 하단에 결과를 그룹화하고 표시하는 방법의 예입니다.

    이미 알고 계시겠지만 Vim 검색은 기본적으로 래핑됩니다. 즉, 파일의 끝(또는 검색된 단어의 마지막 항목)에 도달한 후 "다음 검색"을 누르면 커서가 첫 번째 항목으로 이동합니다. 다시. 원하는 경우 다음 명령을 실행하여 이 검색 래핑을 비활성화할 수 있습니다.

    :set nowrapscan

    랩 스캔을 다시 활성화하려면 다음 명령을 사용하십시오.

    :set wrapscan

    마지막으로 파일에 이미 존재하는 단어를 약간 변경한 다음 검색 작업을 수행하려는 경우 한 가지 방법은/다음에 해당 단어를 입력하는 것입니다. 그러나 단어가 길거나 복잡하면 입력하는 데 시간이 걸릴 수 있습니다.

    쉬운 방법은 약간 수정하려는 단어 아래에 커서를 놓은 다음 /를 누른 다음 Ctrl-r과 Ctrl-w를 차례로 누르는 것입니다. 커서 아래에 있는 단어는 복사될 뿐만 아니라/뒤에 붙여넣기 되므로 쉽게 편집하고 검색 작업을 진행할 수 있습니다.

    더 많은 요령(마우스를 사용하여 Vim에서 더 쉽게 작업하는 방법 포함)을 보려면 공식 Vim 문서로 이동하세요.

    결론

    물론 여기에 언급된 모든 팁/트릭을 알아낼 것이라고 기대하는 사람은 아무도 없습니다. 당신이 할 수 있는 것은 당신에게 가장 유익하다고 생각되는 것부터 시작하여 정기적으로 실천하는 것입니다. 기억에 새겨지고 습관이 되면 다시 여기로 와서 다음에는 어떤 것을 배워야 하는지 알아보세요.

    그런 트릭을 더 알고 있습니까? HTF 커뮤니티의 모든 사람과 공유하고 싶습니까? 그럼 아래 댓글로 남겨주세요.