Vi

開始前在 vi 中初始化搜尋

  • October 6, 2014

我使用我編寫的一個小程序,它以正則表達式模式作為參數並蒐索 2000 多個文件。這些文件位於目錄層次結構中。

該模式可以在多個文件中,也可以在任何文件中多次出現。在找到文件名和出現模式的行之後,程序呼叫viwith+line以獲取第一行號和它找到的所有文件名。

現在一切正常,但有一次我嘗試+line為每個文件(vi +2 x1 +5 x2)指定,但游標位於第 5x1行和第 1 行x2,這不是我想要的,所以我放棄了這個想法。

這些模式通常很複雜,我不想輸入兩次,所以我現在有時會使用複制和粘貼來搜尋vi. 很棒的是,vi使用該模式設置搜尋歷史記錄,然後我可以使用/++來查找所有模式Return,而無需重新輸入或複制/粘貼。然後我可以使用:n!轉到下一個文件並繼續使用該模式。

看起來模式儲存.viminfo在我的目錄中。我可以在開始之前更新該文件vi還是有一些庫或命令行實用程序可以做到這一點?

無需修補~/.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.

引用自:https://unix.stackexchange.com/questions/159625