
나는 정규식 패턴을 매개변수로 사용하고 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.