Answers:
:g/xxxx/d
这将删除所有带有模式的行,并报告删除了多少行。撤消之后再找回。
(类似于Gustavo所说的,但另外:)
对于任何以前的搜索,您可以简单地执行以下操作:
:%s///gn
不需要模式,因为它已经在搜索寄存器(@/
)中。
“%”- s/
在整个文件中执行
“ g”-全局搜索(一行中有多个匹配项)
“ n”-防止任何替换s/
- 不会删除任何内容!一切都必须撤消!
(请参阅::help s_flag
更多信息)
(通过这种方式,它可以与“ 搜索视觉选择的文本 ” 完美配合,如vim-wikia tip171中所述)
简短答案:
:%s /待搜索字符串// gn
学习:
:
您正在从Command
进入Command-line
模式。现在,您编写的任何内容:
都在CLI(命令行界面)上%s
指定所有行。将范围指定为%
意味着在整个文件中进行替换。所有出现替换的语法是:%s/old-text/new-text/g
g
指定该行中所有出现的事件。使用g
flag,您可以替换整行。如果g
不使用此标志,则仅替换该行中的首次出现。n
指定输出出现次数 //
双斜杠表示省略replacement text
。因为我们只想找到。获得事件数后,您可以N
按键来一对一查看事件。
为了查找和计数1至10行的特定范围:
:1,10s / hello // gn
%
整个文件都由,
单独的行号补充。 为了查找和替换特定范围的行号1至10:
:1,10s / helo / hello / gn
我建议这样做:
*
对光标下方的内容进行“边界搜索”,也可以进行标准/pattern
搜索。:%s///gn
得到的出现次数。或者,您可以:%s///n
用来获取出现次数的行数。**我真的可以找到一个插件,该插件在每次搜索时都会给出“ 在N 2行中匹配N 1的N 1 ”的消息,但是可惜。
注意:不要对输出的措辞感到困惑。前一个命令可能会给您一些类似于4 matches on 3 lines
后者可能给您的东西3 matches on 3 lines
。尽管从技术上讲是准确的,但后者具有误导性,应说“ 3行匹配”。因此,正如您所看到的,实际上根本不需要使用后者(仅'n')形式。通过使用“ gn”表单,您可以更清楚地获得相同的信息,并且获得更多的信息。
:g/xxxx/d
在此页面上选择的答案()糟糕,危险且不如其他人。请取消选择它。