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