
我使用自己編寫的一個小程序,該程序採用正則表達式模式作為參數並蒐索 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.