回答
您可以使用Vim內置的global
工具。它將輸出窗口底部所有匹配的行。這方面的一個例子是::克/搜索關鍵詞/輸入
你可能會發現,打開行號,如果它是不是已經到獲得其中的文件你比賽的透視是。要做到這一點的命令是::集數輸入
附加信息可以通過運行該命令中找到::幫助全球輸入
編輯:
如果你想將結果重定向到它自己的窗口,vim.wikia.com
建議使用命令序列
:redir @a redirect output to register a
:g// repeat last global command
:redir END end redirection
:new create new window
:put! a paste register a into new window
你可以很容易地編寫腳本作爲vimscript function
。我高度如果你從來沒有見過它來學習如何正確編寫Vim函數,建議你查看Steve Losh - Learn Vimscript the Hard Way教程。
除了小李的回答:g[lobal]
命令,這裏有幾個選擇:
:il[ist] foo
列表包含foo
所有行,不看像當前緩衝區的意見(使用:il[ist]!
如果你想匹配評論)。當顯示列表,你可以打
<CR>
讓它消失或打:
發出Ex命令::5<CR>
跳轉到第5行,3行之後:5t3
副本5號線等。請注意,該列表是瞬態的:如果您想再次查看該列表,則必須重新發出該命令。
用法:
:il foo<CR> :23<CR>
:vim[grep] bar % | cw[indow]
填充在當前緩衝區含有bar
的所有行quickfix窗口。閱讀
:h quickfix
知道如何使用它。很快,打<CR>
跳轉到一個結果,:cn
跳轉到下一個結果,:cp
跳到前面的結果...用法:
:vim bar % | cw<CR> (navigate to the result you want in the quickfix window with arrows, `jk`, line numbers, search…) <CR>
您還可以使用
:grep bar % | cw[indow]
它使用系統的,而不是grep
Vim的內部類似於grep
的方法。請注意,直到下一個
:vim
或:grep
或:make
或任何操縱錯誤列表的命令,quickfix窗口的內容纔會更改。這意味着你可以隱藏quickfix窗口並用相同的列表重新打開它。
好的答案!我真的認爲'g'代表grep ...我已經更新了我的答案來說全球。 – 2013-02-24 23:46:01
還有另一種可能性與:g
說你想獲得的所有線路在當前文件與字foo
做到這一點:
,您可以鍵入:
qzq:g/foo/y Z
請輸入
執行上述行後,這些行會存儲在您的寄存器z
中。你可以將"zp
粘貼到某處,或者稍後處理。
什麼做什麼前不久:
qzq
:清除z
寄存器
:g/foo/y Z
:猛拉所有匹配的行註冊z
'qzq'是一個很好的黑客。 – romainl 2013-02-25 07:43:29
搜索,比如說, 「QQQ」 後,我只看到含有所述字符串的行用命令:
:v//d
「v 「匹配行不包含先前的搜索(」//「)和」d「刪除它們。這是一個負面的「g」。
我得到一個乾淨的看法,只有我想要的線條。如果我對某個特定的感興趣,我會用「mm」來標記它。
當我完成查看它們時,使用「u」撤銷刪除並取回我的文件(不必忘記)。
之後,我在「n」之間移動這些行,或者用「m」移動到標記的行。
- 1. 輸入字符串並在一個文件中搜索Python
- 2. grep的多個字符串搜索 - 分揀輸出
- 3. Python:如果找到一個字符串,停止搜索該字符串,搜索下一個字符串,並輸出匹配的字符串
- 4. rethinkDB在一個字符串中搜索
- 5. 不輸出第一grep的搜索詞
- 6. 搜索一個字的輸出字符串
- 7. 如何在一個字符串中搜索兩個字符串?
- 8. 在一個字符串中搜索其他字符串的字符出現
- 9. CSV:搜索字符串並用另一個字符串
- 10. 搜索一個字符串,添加一個字符串,並刪除一個文件中的字符串
- 11. 搜索一個字符串「datatoFind」超出第一個出現
- 12. 使用grep來搜索一個字符串
- 13. 在10000個文件中搜索並回報一個字符串
- 14. 如何使用grep在一個字段中搜索子字符串?
- 15. grep的一個字符串
- 16. grep在一行中多個字符串
- 17. 搜索字符串,並打印從一個線以上在Python另一個搜索字符串
- 18. AWK搜索一個字符串並打印出現字符串的全文
- 19. 如何在另一個字符串中搜索字符串
- 20. 搜索一個字符串是否另一個字符串
- 21. 搜索字符串一個ArrayList並返回另一個關聯的字符串
- 22. Python:在文件中搜索特定字符串並輸出總字符串數
- 23. 在全局搜索一個字符串
- 24. 搜索從一個字符串在python
- 25. shell腳本grep grep一個字符串
- 26. Bash腳本grep文件中的字符串並輸出到另一個文件
- 27. 在第一個匹配項中搜索並替換字符串
- 28. grep的突出大於搜索一個
- 29. VIM:從一個文件中抽出並在另一個文件中搜索
- 30. 搜索字符串並在vi/vim中添加行
這非常有幫助。謝謝。無論如何,它只會顯示結果? – domlao 2013-02-24 05:02:22
@krakat我已更新附加信息。讓我知道如果這不符合你的問題。 – 2013-02-24 05:24:49