題 如何在VIM中跨多個文本文件進行增量搜索?


有沒有辦法讓VIM對文本文件進行增量搜索?

Vim已經在當前打開的文件中進行增量搜索。

演示我想要完成的搜索類型的程序示例如下 符號速度 對於MacOS, RESOP 對於窗戶或 SimpleNote 對於網絡。

這些應用程序可以在特定目錄的文件中進行即時或增量搜索,並可以輕鬆/快速地縮小您要查找的文件範圍或創建新文件。
我使用兩者但寧願住在一個編輯器中。(那就是VIM)

是否有一些插件會這樣做?


5
2017-10-07 14:08


起源


對GTD感興趣?加入 個人生產力與組織,我們正在尋找用戶和專家...... :) - Tom Wijsman


答案:


你可以使用 vimgrep 命令,例如:

:vimgrep /searchword/ ~/**

看到

:help vimgrep

詳情。


4
2017-10-07 16:22



當你輸入時你看到的結果不是即時搜索(或者我錯了嗎?) - Alex
不,它沒有。目前尚不清楚你想要的是什麼。 (我不熟悉你提到的軟件,“即時搜索”相當含糊。) - frabjous
我認為我應該使用的詞是“增量”而不是“即時” - Alex


有一個很好的插件可以完成,但有緩衝區: LustyExplorer

還有其他插件幾乎與文件相關: EasyGrep 和 確認 但增量搜索也沒有。

第一個(和其他人,以及NV或Resoph Notes)可以進行增量搜索,因為所有文件都在內存中,就像各種數據庫一樣工作。在隨機文件上實現它似乎有點困難。

我真的很想在Vim中看到這樣的功能,因為我剛剛轉到Linux全職,並且沒有我所知道的Notational Velocity替換。 NV是我在Mac OS X上工作流程的核心部分,它實際上是目前唯一丟失的部分。德魯瓦格納對問題的解釋和對解決方案的提議似乎很有趣。


2
2018-05-09 05:44





還沒。獲得良好的增量搜索性能可能需要有人在c中編寫一個插件,將文件加載到一個大的優化數據結構中。每次敲擊密鑰時,可能有一種方法可以破解vim在整個數據庫上運行grep,但這可能不夠快。

有關進行增量搜索的開源vim插件的示例(不幸的是,文件名,而不是文件內容),您可以查看命令-t插件:

https://wincent.com/products/command-t

如果試圖將整個筆記數據庫加載到vim緩衝區中,可能遇到的另一個技術限制是默認情況下每個用戶限制為1024個同時打開的文件,而許多筆記數據庫包含的筆記多於此。限制可以相當容易地解除,但用戶不應該處理這些事情。


2
2018-05-09 04:09