回答
這取決於你對:g
做了什麼。
如果您的:g
命令沒有更改匹配的模式,則可以按n
轉到下一個匹配的行。
但是如果你改變了模式,例如你做了:g/foo/d
或:g/foo/s/foo/bar/g
,那麼在你啓動:g
命令後,那些行不會在那裏。那麼再也無法達到這些線。
也許他使用':g'這個默認行爲是'p',只是想循環打印出的行? (這將是你的第二行) – FDinoff
連續跳轉到模式匹配的常用方法是使用普通搜索,而不是全局命令。這是,/<pattern>
,然後n
連續匹配。
全局命令:g
用於在非連續的一組行上運行另一個命令。對於一組連續的線條,範圍就足夠了。例如::1,5<command>
。
但是,如果由於某種原因需要使用全局命令,或者僅用於記錄,則有一種方法可以使用:g
來執行所需操作。
從Vim的幫助:
When using "global" in Ex mode, a special case is using ":visual" as a
command. This will move to a matching line, go to Normal mode to let you
execute commands there until you use |Q| to return to Ex mode. This will be
repeated for each matching line. While doing this you cannot use ":global".
To abort this type CTRL-C twice.
要查看完整的故事,:h multi-repeat
。
所以,分步實施,這將是:
進入ex模式(按
Q
)。這就像命令行模式,但在執行命令後不會回到正常模式,也不必鍵入前導
:
。從這裏回到正常模式,使用:visual
。運行全局命令執行
:visual
子命令。這是,:g/<pattern>/visual
。這會讓你進入正常模式進行每場比賽。每次,您都可以使用vim的所有功能來完成您想要的任何事情,並在完成後回到ex模式(再次按
Q
)繼續下一場比賽。當你完成最後一場比賽時,你將會再次進入ex模式。輸入
:visual
然後返回到正常模式。
取決於你想要什麼,你可以簡單地使用:grep
或:vimgrep
代替:g
,這將使匹配行到quickfix表。 (使用命令的l個變體填充位置列表)。
- 1. 循環通過vim
- 2. NodeJS - 通過線路功能讀取線路+雖然循環
- 3. 通過形狀循環來獲得Dimensions
- 4. VIM:通過字符串循環
- 5. 如何獲得svg的循環路徑?
- 6. 獲得通過路由
- 7. 通過Laravel路線在某個域上循環?
- 8. 獲得獨特的類名,並通過他們的循環
- 9. 通過g代碼命令的循環和條件
- 10. 通過循環
- 11. 通過循環
- 12. 通過循環
- 13. 通過循環
- 14. 爪哇 - 循環通過LinkedHashMap的,並獲得價值
- 15. 循環通過閃光和獲得活動的模型對象
- 16. 通過ArrayList的循環,從而獲得一個項目編號
- 17. Backbone.js的 - 網址:ID沒有獲得通過到循環
- 18. 通過收集與下劃線循環
- 19. 通過一系列曲線循環
- 20. 通過一系列線程循環
- 21. 通過環境限制路線
- 22. 通過表循環得到下拉值
- 23. 沒有得到通過foreach循環
- 24. 如何獲得變量的值在這個循環中,VIM
- 25. g ++不正確的循環?
- 26. 通過Json循環的foreach循環
- 27. 通過Excel表循環的Python循環
- 28. 循環通過循環中的屬性
- 29. 如何通過div循環,並獲得每個值
- 30. Laravel PHP foreach循環通過鍵獲得價值
使用':%s/pattern/replacement/gc'。在這裏,':g'似乎是錯誤的工具。 – romainl