簡體   English   中英

如何在 VIM 中查找/搜索轉義反斜杠和正斜杠?

[英]How does one escape backslashes and forward slashes in VIM find/search?

例如,如果我想用包含反斜杠或正斜杠的字符串進行查找和替換,這將如何在 vim 中完成?

示例查找和替換是: :%s/foo/bar/g

如果我想找到所有出現的<dog/>並將其替換為<cat\>

與您在 linuxy 程序的其他任何地方使用反斜杠轉義字符的方式相同:

:%s/<dog\/>/<cat\\>

但請注意,您可以選擇不同的分隔符:

:%s@<doc/>@<cat\\>@

這可以節省您在帶有大量斜杠的模式中輸入所有那些耗時、令人困惑的反斜杠。

文檔中:

除了包圍模式和替換字符串的/之外,您可以使用任何其他單字節字符,但不能使用字母數字字符\"| 。如果您想在搜索模式或替換中包含/ ,這很有用細繩。

%s:<dog/>:<cat>

如果 / 分隔符對某些模式變得煩人,您可以替換它們。

用反斜杠引用它們。 此外,使用除斜線之外的其他分隔符通常會有所幫助。

 :%s#<dog/>#<cat\\>#

或者如果您必須使用斜杠作為替代命令分隔符

 :%s/<dog\/>/<cat\\>/

我正在尋找類似的東西,以搜索包含/字符的寄存器值(記錄宏)。 解決方案是使用? 令牌而不是/

語法是:

:%s/<dog\/>/<cat\\>/g

反斜杠 斜杠 反斜杠 星號

/(<- the prompt)\/\*

所以在你輸入之后它看起來像

/\/\*

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM