我似乎想起了一個vim插件,它可以讓您基本上執行「:g/pattern/p」,然後提示您選擇一個。有誰知道這個插件?或者它是一個內置函數?Vim:查看頁面上的所有實例並選擇一個
基本上,我想執行一次搜索,查看當前頁面上的所有實例(甚至打開緩衝區),然後能夠選擇要去哪個實例。
謝謝!
編輯:
我希望它居然拿我行號的時候我讓我選擇,我想這是一個相當簡單的解決方案。我很確定我已經看到了一個插件,但我不記得它是什麼。有什麼想法嗎?
PS。謝謝所有正在回答的人。他們是很好的答案。
我似乎想起了一個vim插件,它可以讓您基本上執行「:g/pattern/p」,然後提示您選擇一個。有誰知道這個插件?或者它是一個內置函數?Vim:查看頁面上的所有實例並選擇一個
基本上,我想執行一次搜索,查看當前頁面上的所有實例(甚至打開緩衝區),然後能夠選擇要去哪個實例。
謝謝!
編輯:
我希望它居然拿我行號的時候我讓我選擇,我想這是一個相當簡單的解決方案。我很確定我已經看到了一個插件,但我不記得它是什麼。有什麼想法嗎?
PS。謝謝所有正在回答的人。他們是很好的答案。
您可以使用:vim[grep]
或:gr[ep]
。
:vim foo % | cw
見:help quickfix
。
如果你想要一個插件,你必須搜索vim.org。
這可能會讓你關閉。它不是一個交互式菜單,但它告訴你的行號的比賽
:g/<regex>/#
的#
告訴全球打印的行號。看看:h :number
(#
是:number
的同義詞)
+1這是我會回答的... –
它實際上顯示了沒有#的行號。我想要的是我可以選擇的有序選擇。我知道有一個插件會提示你選擇,我只是不記得它是什麼... –
@MrA礦不顯示行號。我猜你已經在你的vimrc中有':set number',這也似乎告訴你行號 – FDinoff
:g/regex/p
:g
執行:p
默認情況下,因此它可以被忽略;尾隨斜線也可以刪除:
:g/regex
注意:g
跳轉到該文件中最後出現的,所以你就可以執行N/
(正常模式),跳轉到第N次出現。或者,如果有多場比賽,而且你不想指望你想要哪一場,那麼你至少可以用LG
或Lgg
或:L
跳到它的這一行。
如果你不使用:set number
但想在:p
輸出線號,追加nu[mber]
或#
爲@FDinoff提示:
:g/regex/nu
:g/regex/#
你可以通過:vimgrep
命令
:vimgrep/regex/ %
%
代表當前緩衝區的文件名填充結果到quickfix
窗口。注意:緩衝區必須是文件而不是臨時緩衝區。
然後使用quickfix
命令(如:cnext
和)來移動列表。或者通過:copen
打開清單並按<cr>
跳到比賽。
可以:vimgrep
任意數量的文件:
*.c
文件如:vimgrep/regex/ *.c
。**
可搜索深層目錄,例如:vimgrep/regex/ **/*.c
。您還可以通過:vimgrep/regex/ ##
將vimgrep
與參數列表一起使用。
如需更多幫助,請參見:
:h :vimgrep
:h quickfix
:h c_%
:h arglist
可以確認一個又一個變化中的所有打開的緩衝區:
:bufdo %s;<pattern>;<replace>;c | update
的:bufdo
經過所有緩衝區。 c
是確認所有更改的標誌。 update
寫入當前允許進入下一個緩衝區的緩衝區。
這似乎沒有涉及到這個問題呢? –
我很確定我看過一個插件提出這個列表,然後讓你做出選擇,並把你帶到有問題的路線。我似乎無法找到它或記住其他任何事情。 –
爲什麼你需要一個插件?你可以用內置的命令來完成你所要求的任何事情。一旦打開quickfix列表,您可以導航它,並在結果上點擊「」以跳轉到該列表,等等。閱讀我提供給你的文檔部分。 –
romainl