我有HTML,看起來像這樣如何搜索和Vim中與子匹配替換值
<form>
<input id="firstname" value=""/>
<input id="lastname" value=""/>
<input id="email" value=""/>
</form>
我要添加名稱=下面的「{ID名}」到每個輸入字段(參見示例代碼)
<form>
<input id="firstname" name="firstname" value=""/>
<input id="lastname" name="lastname" value=""/>
<input id="email" name="email" value=""/>
</form>
我該如何與Vim做到這一點?
我想
%s/id=".*"/\=submatch(0)/g
而且這造成兩個問題:
1)搜索,從第一次報價搜索到最後報價。它應該從第一個報價到下一個報價。
2.)submatch(0)
正在搜索的全部結果。我如何將它隔離到只有id="{value}"
之間的值?
我遇到過這個問題很多,搞清楚這個vim命令可以幫助我在將來爲我節省很多時間。主要將搜索結果拆分爲submatch()
我也看到有人用堆棧使用\1 \2
而不是submatch()
來存儲結果,這種方法是否更好?
任何幫助將不勝感激!謝謝!
我不得不使用\ =以變化的魔法':%S =符\ v \ ZS(」 { - } 「),&name =&' – SergioAraujo