我有一个 ipv6 hosts 文件。不,我想在包含“google.com.hk”的每一行中添加注释符号 #。
我如何在 vim 中执行此操作?我以为会是这样的%s/^.*google\.com\.hk/^#???/
。
谢谢。
答案1
在替换文本中使用来&
代表整个原始字符串:
%s/^.*google\.com\.hk/#&/
或者,为了避免替换诸如not-google.com.hk
和之类的东西google.com.hk.example.com
:
%s/^.*[ .]google\.com\.hk\( \|$\)/#&/
或者,使用该g
命令将s
命令应用于所有匹配的行:
g/[ .]google\.com\.hk\( \|$\)/ s/^/#/
答案2
像这样:
%s/\(^.*google\.com\.hk\)/# \1/
这告诉 VIM 搜索括号中的内容(在本例中为 )^.*google\.com\.hk
,并将其放入变量中。然后\1
,用 替换之前找到的所有内容。#
\1
或者,你可以这样做:
%s/^.*google\.com\.hk/# &/
其中 是&
的简写刚刚匹配的