Vi
開始前在 vi 中初始化搜尋
我使用我編寫的一個小程序,它以正則表達式模式作為參數並蒐索 2000 多個文件。這些文件位於目錄層次結構中。
該模式可以在多個文件中,也可以在任何文件中多次出現。在找到文件名和出現模式的行之後,程序呼叫
vi
with+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.