開始之前在 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.

相關內容