시작하기 전에 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.

관련 정보