시작하기 전에 vi에서 검색을 초기화하십시오.

시작하기 전에 vi에서 검색을 초기화하십시오.

나는 정규식 패턴을 매개변수로 사용하고 2000개가 넘는 파일을 검색하는 작은 프로그램을 사용하고 있습니다. 이러한 파일은 디렉터리 계층 구조에 있습니다.

패턴은 여러 파일에 존재할 수도 있고 모든 파일에 여러 번 나타날 수도 있습니다. 파일 이름과 패턴이 발생하는 줄을 찾은 후 프로그램은 첫 번째 줄 번호와 찾은 모든 파일 이름을 가져오기 vi위해 호출합니다.+line

+line지금은 모든 것이 잘 작동하지만 한 번은 각 파일에 ( )를 지정하려고 시도했지만 vi +2 x1 +5 x2커서가 원하는 위치가 아닌 5행 x1과 1행 에 놓이게 되었기 x2때문에 포기했습니다.

이러한 패턴은 종종 복잡하고 두 번 입력하고 싶지 않기 때문에 때로는 복사하여 붙여넣기를 사용하여 검색합니다 . 가장 좋은 방법은 패턴을 vi사용하여 검색 기록을 설정한 다음 ++를 사용하여 모든 패턴을 찾을 수 있다는 것입니다 . 다시 입력하거나 복사하여 붙여넣어야 합니다. 그런 다음 다음 파일로 이동하여 패턴을 계속 사용할 수 있습니다 .vi/Return:n!

.viminfo스키마가 내 디렉터리에 저장된 것 같습니다 . 시작하기 전에 이 파일을 업데이트할 수 있나요 vi? 아니면 이를 수행할 수 있는 라이브러리나 명령줄 유틸리티가 있습니까?

답변1

파일 을 패치할 필요가 없습니다 ~/.viminfo.

사용 중에 명령줄 옵션을 사용하여 모델 줄에 커서를 놓을 vim수 있습니다 . +/pattern그 후에는 다음 이벤트를 가져오는 데 사용할 수 있습니다 n(줄의 시작 부분에 있지 않으면 첫 번째 이벤트가 되고, 그렇지 않으면 두 번째 이벤트가 됩니다).

매뉴얼 페이지에는 커서가 패턴이 처음 나타나는 위치에 있다고 나와 있지만 내 경험상 패턴이 있는 줄의 첫 번째 문자에 있습니다. vim man페이지 에서 :

+/{pat}     For  the  first  file the cursor will be positioned on the
            first occurrence of {pat}.  See ":help search-pattern" for
            the available search patterns.

관련 정보