當Vim的打開文件我幾乎總是做這樣的事情:在vim瀏覽文件系統 - >:發現與編輯
:e subDir/**/file<ctrl-d>
但在文檔和基本上每個StackOverflow上/博客文章我讀了它似乎人們使用「查找」我使用「編輯」的方式。
我使用編輯命令而不是find命令丟失了什麼?
當Vim的打開文件我幾乎總是做這樣的事情:在vim瀏覽文件系統 - >:發現與編輯
:e subDir/**/file<ctrl-d>
但在文檔和基本上每個StackOverflow上/博客文章我讀了它似乎人們使用「查找」我使用「編輯」的方式。
我使用編輯命令而不是find命令丟失了什麼?
:edit
被默認限制在工作目錄中:如果您需要編輯不在工作目錄下的文件,則必須提供絕對路徑或相對於工作目錄的路徑。另外,你需要提供必要的數據。
:find
表面上與:edit
非常相似,但(大)區別在於它在path
選項中指定的目錄中查找文件。 path
是什麼讓:find
比:edit
更有趣。
使用set path=,,
您實質上獲得與:e foo
相同的行爲。
使用set path=**
您基本上獲得與:e **/foo
相同的行爲,除非不必使用任何glob。
使用set path=.,**
您還可以訪問與當前文件位於同一目錄中的文件。
使用set path=.,**,/path/to/some/central/vendor/directory
您還可以訪問該目錄中的文件...等等。
可能值得注意的是,將'**'加入''path''並不是真正意圖使用「路徑」的方式。 「path」的目的是指向「包含」代碼的根目錄(比如Python模塊,Java源代碼依賴項,Vim插件包等)。然後':find'與':edit'非常相似,只是它使用多個搜索目錄根,而不僅僅是工作目錄。 – glts
'find'在vim中搜索''path''。而':edit'只將當前工作目錄作爲根目錄。 – FDinoff