Vim 검색 및 바꾸기

Vim Search Replace



Vim은 대부분의 Linux 배포판에 사전 설치된 인기 있는 고급 텍스트 편집기입니다. 비 GUI 기반 운영 체제에서 주로 사용되는 명령줄 기반 텍스트 편집기입니다. 그것은 고도로 구성 가능하고 많은 기능을 제공합니다. Vim의 중요한 점은 반복에 대해 고도로 최적화되어 있다는 것입니다.

이 기사에서는 가장 유용한 기능 중 하나인 검색 및 바꾸기에 대해 설명합니다. 몇 가지 구성으로 원하는 모든 것을 놀라운 속도로 더 세밀하게 검색할 수 있습니다.







방법 #1 한 번에 하나의 항목 찾기 및 바꾸기(슬래시 및 점 명령 사용)

Vim에서 단어를 검색하고 바꾸는 가장 간단한 방법은 슬래시와 점 명령을 사용하는 것입니다. 슬래시(/)는 단어를 검색하는 데 사용할 수 있고 점(.)은 해당 단어를 대체하는 데 사용할 수 있습니다.



Vim 편집기에서 단어를 검색하고 바꾸려면 아래의 간단한 단계를 따르세요.



  • Vim에서 파일 열기
  • / search_term과 같은 검색어와 함께 슬래시(/) 키를 누르고 Enter 키를 누릅니다. 선택한 단어가 강조 표시됩니다.
  • 그런 다음 키 입력을 누르십시오. cgn 강조 표시된 단어를 바꾸고 replace_term을 입력하십시오.
  • 일반 모드로 돌아갑니다. 그런 다음 n을 눌러 검색어의 다음 항목으로 이동합니다.
  • 그런 다음 다음 항목을 동일한 replace_term으로 바꾸려면 점(.)을 누르고 그렇지 않으면 다시 n 키를 눌러 다음 항목으로 이동합니다.

기본 검색을 위한 가장 빠르고 최상의 방법이며 몇 번의 키 입력만 포함하고 현재 작업에 대한 중단이 적기 때문에 기능을 대체합니다. 그러나 너무 많이 나오는 단어를 찾는 것은 반복적이고 시간이 많이 걸리는 작업이 됩니다.





Vim을 사용하면 대체 명령을 사용하는 이 반복적인 작업을 피할 수 있는 또 다른 더 좋은 방법이 있습니다.

방법 #2 대체 명령을 사용하여 찾기 및 바꾸기

대체 명령은 기본에서 고급 검색을 수행하고 단일 명령으로 기능을 교체하는 데 사용할 수 있습니다. 이 명령의 구문은 다음과 같습니다.



$:NS/<검색어> /<교체 용어> /옵션

이 명령은 일반 모드에서 입력해야 합니다.

어디에

  • S: 대용품을 나타냅니다.
  • search_term: 검색하고 바꿀 단어
  • replace_term: 대체할 단어
  • 옵션: c(확인용), g(모든 항목을 한 줄로 대체), i(대소문자 무시)

검색 및 바꾸기

대체 명령을 사용하여 기본 검색 및 바꾸기를 수행하려면 다음 구문을 사용하십시오.

:%NS/<검색어> /<교체 용어> /NS

이 명령은 search_term의 모든 인스턴스를 replace_term으로 바꿉니다.

예를 들어 다음은 샘플 텍스트입니다.

Ubuntu는 가장 많이 사용되는 Linux OS 중 하나입니다. Ubuntu에는 수천 개의 유용한 프로그램이 포함되어 있습니다. Ubuntu 명령줄을 사용하면 거의 모든 종류의 작업을 수행할 수 있습니다.

다음 텍스트에서 Ubuntu의 각 발생을 Debian으로 교체하려면 다음 명령이 사용됩니다.

:%NS/우분투/데비안/NS

한 줄로 검색 및 바꾸기

전체 파일 대신 한 줄에 있는 단어만 검색하고 바꾸려면 다음 구문을 사용합니다.

:NS/<검색어> /교체 용어/NS

예를 들어, 위의 샘플 텍스트에서 Ubuntu의 발생을 Debian으로 대체하려면 % 기호가 없는 다음 명령이 사용됩니다.

:NS/우분투/데비안/NS

확인으로 검색 및 바꾸기

검색어를 바꾸기 전에 확인을 요청하려면 다음과 같이 검색 명령 끝에 c를 사용합니다.

:NS/<검색어> /<교체 용어> /GC

위의 명령은 각 교체 전에 확인을 요청합니다(예인 경우 y, 아니오인 경우 n 입력).

대소문자를 구분하지 않는 검색 및 바꾸기

Vim에서 검색 및 바꾸기를 수행할 때 기본적으로 대소문자를 구분합니다. 다음과 같이 명령 끝에 i를 추가하여 대소문자를 구분하지 않는 검색을 수행할 수 있습니다.

:NS/<검색어> /<교체 용어> /주다

예를 들어, 대소문자(UBUNTU, Ubuntu, ubuntu, uBuntu)에 관계없이 Ubuntu라는 용어를 검색하려면 다음 명령이 사용됩니다.

:NS/우분투/데비안/주다

전체 단어 검색 및 바꾸기

기본적으로 대체 명령은 부분적이든 전체적이든 일치하는 모든 항목을 검색합니다. search_term을 정확히 일치시킨 다음 이것을 replace_term으로 바꾸려면 search_term을 .

예를 들어, 일부 문서에서 정확한 단어 you를 검색하여 바꾸려고 합니다. 이 경우 다음 명령이 사용됩니다.

:NS/<> /NS/

그것은 당신이라는 단어를 찾아 나로 대체합니다. 그러나 그것은 당신과 같은 단어를 대체하지 않습니다.

특정 줄에서 단어 검색 및 바꾸기

한 줄 또는 전체 파일 대신 특정 줄에서 단어를 검색하려면 다음 구문을 사용할 수 있습니다.

:<start_line>,<end_line>NS/<검색어> /<교체 용어> /NS

예를 들어, 일부 파일에서 3에서 8 사이의 행에서 Ubuntu를 Debian으로 검색하고 교체하려면 다음 명령을 사용합니다.

:1,10초/우분투/데비안/NS

현재 줄에서 다음 x개의 줄로 단어의 발생을 검색하고 바꾸려면 다음 구문이 사용됩니다.

:NS/검색어/교체 용어/지 엑스

유사하게, 현재 줄에서 마지막 줄로 단어의 발생을 검색하고 바꾸려면 다음 구문이 사용됩니다.

:.,$s/검색어/교체 용어/NS

결론

이 기사에서는 Vim 편집기에서 단어를 검색하고 바꾸는 두 가지 명령줄 방법을 배웠습니다. 슬래시와 마침표를 사용한 첫 번째 명령은 가장 간단하고 쉬운 방법이지만 너무 많이 나오는 단어를 검색하고 바꾸다 보면 반복되는 명령이 됩니다. 한 번 대체 명령인 다른 명령은 어렵고 복잡해 보일 수 있지만 일단 연습을 시작하면 여러 시나리오에서 매우 유용하다는 것을 알게 될 것입니다.