[英]Interactive search/replace regex in Vim?
添加標志c (在vim命令提示符下):
:%s/old/new/gc
每次出現'old'時都會給你一個是/否的提示。
一旦選擇了確認替換,Vim的內置幫助提供了有關可用選項的有用信息。 使用:
:h :s
然后滾動到確認選項部分。 截圖如下:
例如,要替換此匹配和所有剩余匹配,請使用a
。
Mark Biek指出使用:
%s/old/new/gc
全局搜索替換為每個替換的確認。 但是,我也喜歡以交互方式驗證舊文本是否正確匹配。 我首先使用正則表達式進行搜索,然后重用該模式:
/old.pattern.to.match
%s//replacement/gc
s//
將使用最后一個搜索模式。
我想你正在尋找c
,例如s/abc/123/gc
,這將導致VIM確認更換。 請參閱:help:替換更多信息。
我通常使用find / substitute / next / repeat命令:-)
/old<CR>3snew<ESC>n.n.n.n.n.n.n.
那find "old"
, substitute 3 characters for "new"
, find next
, repeat substitute
,依此類推。
這對於大規模替換來說是一種痛苦,但是它允許你有選擇地忽略一些舊的(通過再次按n
來找到下一個而不是.
重復替換)。
如果您只想計算'abc'的出現次數,那么您可以執行%s/abc//gn
。 這不會取代任何東西,只會報告'abc'的出現次數。
如果您的替換文本需要針對每個匹配的事件進行更改 (即,不是簡單地選擇是/否來應用單個替換),您可以使用我制作的名為interactive-replace的Vim插件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.